第6章数据库系统及其应用_第1页
第6章数据库系统及其应用_第2页
第6章数据库系统及其应用_第3页
第6章数据库系统及其应用_第4页
第6章数据库系统及其应用_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章第六章 数据库系统及其应用数据库系统及其应用一、数据管理技术的发展过程一、数据管理技术的发展过程数据管理数据管理 是计算机应用系统中的重要组成部分,包括数据的获取、存储、查询、更新等等举例:电子地图网站、教务管理系统 数据管理技术的发展过程: 1人工管理阶段(人工管理阶段(50年代)年代)程序与数据不独立,不同程序之间不能共享数据 应用程序1应用程序2应用程序n 。数据集1数据集2数据集n 。2文件系统阶段(文件系统阶段(50-60年代)年代) 数据以文件形式存储,程序和数据有一定的独立性 应用程序1应用程序2应用程序n 。文件1文件2文件n 。存取方 法3数据库阶段(数据库阶段(70年

2、代)年代) 数据库管理系统对数据库进行管理应用程序1应用程序2 。用 户数据库管理系统 数据库应用程序n4高级数据库阶段(高级数据库阶段(80年代)年代) 分布式数据库系统、面向对象数据库、多媒体分布式数据库系统、面向对象数据库、多媒体数据库、数据仓库、程数据库、空间数据库数据库、数据仓库、程数据库、空间数据库二、数据库系统的组成二、数据库系统的组成 数 据 库 (DB) 数据库管理系统 (DBMS) 应用 程序应用程序应用程序 用户用户用户 数据库管理员 (DBA)1.数据库系统(数据库系统(DBS):它由数据库、数据库管理系统、数据库管理员、数据库应用程序、用户组成。 用户 用户 用户 (

3、1)数据库(数据库(DB):相关信息或数据的有规则的集合。 (2)数据库管理系统(数据库管理系统(DBMS):对数据库进行管理软件,是数据库系统的核心。其职能是维护数据库,操作数据库数据。 用户或者程序必须通过DBMS来管理DB。 (3)数据库管理员(DBA) (4 ) 数据库应用程序 (5)用户 2.根据数据模型的设计方法不同,数据库系统可分为层次型、网状型、关系型、面层次型、网状型、关系型、面向对象型。向对象型。 目前应用最为广泛的是关系型数据库。关系型数据库。 层次模型举例层次模型举例网状模型举例网状模型举例关系模型举例关系模型举例三、三、 关系数据库简介关系数据库简介1基本概念基本概念

4、 (1)表、记录、字段)表、记录、字段 在关系数据库中,表是存储和管理数据的基本单元。表是一种格式化的二维数组,横向为行,称为记录;纵向为列,也叫字段。如学生表t_student学号姓名性别年龄2001A030301李小春男192001A030302张玉妹女192001A030303刘志刚男20一个表描述一种关系,表中的行定义叫做关系模式字段类型字段类型 在确定表的结构时,需要定义一个表由哪些字段组成,同时要定义字段的类型。学号-varchar(11) : 可变长字符型,最大长度为11姓名-varchar(8) :可变长字符型,最大长度为8性别-varchar(2) :可变长字符型,最大长度为

5、2年龄-int: 整数型 数 据 类 型 说 明 CHAR(n) 长度为n的定长字符串 VARCHAR(n) 最大长度为n的变长字符串 INT 全字长整数 SMALLINT 半字长整数 NUMERIC(p,d) 十进制小数,由p位数字(不包括符号和小数点)组成的定点数,小数点后面有d位数字 REAL 浮点数 DOUBLE RECISION 双精度浮点数 FLOAT(n) 精度至少为n位数字的浮点数 DATE 日期,形如YYYY-MM-DD(年-月-日) TIME 时间,形如HH:MM:SS(时:分:秒) SQLSQL提供的基本数据类型提供的基本数据类型(2)主键)主键 若表中的一个或某几个字段

6、能够唯一确定表中的一条记录,则该字段可定义为表的关键字,被选用的关键字称为主键主键 StudentsStudents表表男男张智忠张智忠学号学号姓名姓名性别性别党员党员专业专业出生年出生年月月助学金助学金990001王涛王涛男男No物理物理82-01-21¥160.0160.00 0990002庄前庄前女女Yes物理物理82-09-21¥200.0200.00 0990101丁保华丁保华男男No数学数学81-04-18¥180.0180.00 0990102姜沛棋姜沛棋女女No数学数学81-12-02¥280.0280.00 0No数学数学80-08-06¥240.0240.00 099020

7、1程玲程玲女女Yes计算机计算机82-11-14¥200.0200.00 0990202黎敏艳黎敏艳女女Yes计算机计算机83-02-21¥160.0160.00 0990103(3)实体()实体(Entity) 客观存在的并可相互区分的事物客观存在的并可相互区分的事物,如学生、课程等等。在关系数据库中,实体用表表示。(4)联系()联系(Relationship) 实体之间存在的对应关系实体之间存在的对应关系,分为三种: 一对一(一对一(1:1)、一对多()、一对多(1:n)、)、多对多(多对多(m:n)(5)关系模型:关系模型:用表表示实体及实体之间的联系的模型用表表示实体及实体之间的联系的

8、模型(6)E-R图:图:对现实世界的第一级抽象,其中矩形表示对现实世界的第一级抽象,其中矩形表示实体类型,菱形表示实体联系,椭圆形表示字段(属性)实体类型,菱形表示实体联系,椭圆形表示字段(属性) 2关系数据库的设计关系数据库的设计 需求分析、概念设计、逻辑设计、物理设计E-R图表 逻辑设计遵循规范化理论规范化理论四、结构化查询语言四、结构化查询语言SQL1.SQL语言概述: 1974年提出,逐渐成为国际标准数据库语言 SQL的特点: l功能一体化;l语法结构的统一性: SQL有两种使用方式:自含式有两种使用方式:自含式 、嵌入式、嵌入式,使使用方式不同,但语法结构相同用方式不同,但语法结构相

9、同l高度的非过程化高度的非过程化l语言简洁,功能丰富2.SQL的数据定义操作的数据定义操作l定义基本表:定义基本表:基本表定义语句的一般形式:基本表定义语句的一般形式:CREATE TABLE CREATE TABLE ( 1NOT NULL NOT NULL , 2NOT NULL NOT NULL ,. . )例例6-16-1使用使用SQLSQL语句建立学生表语句建立学生表S S、课程表课程表C C和学生选课和学生选课成绩表成绩表SCSC。( (表在表在203203页页) ) 解:(解:(1 1)创建基本表)创建基本表S S: CREATE TABLE S CREATE TABLE S(学

10、号学号 CHAR(4) NOT NULL,CHAR(4) NOT NULL,姓名姓名 CHAR(8) NOT NULLCHAR(8) NOT NULL,年龄年龄 SMALLINTSMALLINT,性别性别 CHARCHAR(2 2),),系别系别 CHARCHAR(2020),),PRIMARY KEY PRIMARY KEY (学号)学号) (2 2)创建基本表)创建基本表C C: CREATE TABLE C CREATE TABLE C (课程号课程号 CHARCHAR(4 4)NOT NULLNOT NULL,课程名课程名 CHARCHAR(4 4)NOT NULLNOT NULL,教

11、师名教师名 CHARCHAR(8 8),), PRIMARY KEY PRIMARY KEY (课程号)课程号) )(3 3)创建基本表)创建基本表SCSC: CREATE TABLE SC CREATE TABLE SC (学号学号 CHARCHAR(4 4)NOT NULLNOT NULL, 课程号课程号 CHARCHAR(4 4)NOT NULLNOT NULL, 成绩成绩 CHARCHAR(8 8)SMALLINTSMALLINT, PRIMARY KEY PRIMARY KEY (学号,课程号),学号,课程号), FOREIGN KEY FOREIGN KEY (学号)学号)REFE

12、RENCES SREFERENCES S(学号),学号), FOREIGN KEY FOREIGN KEY (课程号)课程号)REFERENCES CREFERENCES C(课程号),课程号), CHECK CHECK (成绩成绩 IS NULL IS NULL )OROR(成绩成绩 BETWEEN 0 AND 100BETWEEN 0 AND 100) (4 4)最基本的语句最基本的语句l修改基本表修改基本表:v在基本表中增加列:在基本表中增加列: ALTER TABLE ALTER TABLE ADD ADD 例例6-26-2在例在例6-16-1的学生基本表的学生基本表S S中增加一个属

13、性中增加一个属性“家庭地址家庭地址”: ALTER TABLE S ADD ALTER TABLE S ADD 家庭地址家庭地址 VARCHARVARCHAR(4040)v在基本表中删除列:在基本表中删除列: ALTER TABLE ALTER TABLE DROP DROP 这里,这里, 可以取可以取CASCADECASCADE和和 RESTRICTRESTRICT两种方式。两种方式。例例6-36-3在学生基本表在学生基本表S S中删除一个属性中删除一个属性“系别系别”: ALTER TABLE S DROP ALTER TABLE S DROP 系别系别 CASCADECASCADE 或或

14、 ALTER TABLE S DROP ALTER TABLE S DROP 系别系别 RESTRICTRESTRICTv最基本的操作最基本的操作 l撤销基本表撤销基本表:v撤销基本表语句:撤销基本表语句: DROP TABLE DROP TABLE 可以取可以取CASCADECASCADE和和 RESTRICTRESTRICT两种方式。两种方式。例例6-46-4若要撤销学生基本表若要撤销学生基本表S S,可用下列语句实现可用下列语句实现 DROP TABLE S CASCADEDROP TABLE S CASCADE 或或 DROP TABLE S RESTRICTDROP TABLE S

15、RESTRICTv最基本的操作最基本的操作 3.SQL的数据操纵操作的数据操纵操作: 查询查询插入插入修改修改删除删除l数据查询操作数据查询操作数据查询语句的一般形式:数据查询语句的一般形式: SELECT SELECT FROM FROM WHERE WHERE GROUP BY GROUP BY 1 HAVING HAVING ORDER BY ORDER BY 简单查询:在单个基本表上的查询,不涉及多个基本表的连接查询和嵌套查简单查询:在单个基本表上的查询,不涉及多个基本表的连接查询和嵌套查询等复杂的情况。询等复杂的情况。例例6-76-7在基本表在基本表S S中查询全体学生的详细信息:中

16、查询全体学生的详细信息: SELECT SELECT * * FROM S FROM S 例例6-86-8在基本表在基本表S S中查询计算机科学与工程系和电气工程系学生的学号、中查询计算机科学与工程系和电气工程系学生的学号、姓名和年龄:姓名和年龄: SELECT SELECT 学号,姓名,年龄学号,姓名,年龄 FROM S FROM S WHERE WHERE 系别系别计算机科学与工程系计算机科学与工程系 OR OR 系名系名电气工程系电气工程系例例6-96-9在基本表在基本表S S中查询年龄在中查询年龄在18182020岁岁 学生的姓名和性别:学生的姓名和性别: SELECT SELECT

17、姓名,性别姓名,性别 FROM S FROM S WHERE WHERE 年龄年龄 18 AND 18 AND 年龄年龄 = 80= 80v嵌套查询:在查询语句嵌套查询:在查询语句WHEREWHERE后面的条件表达式中出现另一后面的条件表达式中出现另一个查询个查询, ,该查询又称为子查询该查询又称为子查询,SQLSQL允许多层嵌套。允许多层嵌套。例例6-166-16在基本在基本表表S S、C C和和SCSC中查询选修课程号为中查询选修课程号为C001C001学生的学生的学号和姓名。学号和姓名。 SELECT SELECT 学号,姓名学号,姓名 FROM S FROM S WHERE S. WH

18、ERE S.学号学号 IN IN (SELECT SELECT 学号学号 FROM SC WHERE FROM SC WHERE 课程课程 号号C001C001)例例6-176-17在基本在基本表表S S、C C和和SCSC中查询选修课程名为操作系统学中查询选修课程名为操作系统学生的学号和姓名:生的学号和姓名: SELECT SELECT 学号,姓名学号,姓名 FROM S FROM S WHERE WHERE 学号学号 IN IN (SELECT SELECT 学号学号 FROM SC WHERE FROM SC WHERE 课程号课程号 ININ (SELECT SELECT 课程课程号号

19、FROM C WHERE FROM C WHERE 课程名课程名 操作系统操作系统)l数据插入操作数据插入操作数据插入语句的一般形式:数据插入语句的一般形式: INSERT INTO INSERT INTO ( 1, .2 .) VALUESVALUES( 1, .2 .)例例6-186-18在学生基本表在学生基本表S S中插入一名新学生的元组,其学号、中插入一名新学生的元组,其学号、姓名、年龄、性别和所在系别分别为姓名、年龄、性别和所在系别分别为2002250320022503、周冰、周冰、2222、男和计算机科学与工程系。男和计算机科学与工程系。 INSERT INTO S INSERT INTO S VALUES VALUES(2002250320022503,周冰周冰,2222,男男, 计计算机科学与算机科学与 工程系工程系 )l数据修改操作数据修改操作数据修改语句的一般形式:数据修改语句的一般形式: UPDATE UPDATE SET SET 1 1 ,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论