《数据库系统基础 》ppt课件_第1页
《数据库系统基础 》ppt课件_第2页
《数据库系统基础 》ppt课件_第3页
《数据库系统基础 》ppt课件_第4页
《数据库系统基础 》ppt课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 数据库系统根底 6.1 数据库系统根底 一、数据库系统 1、数据:描画事物的符号,可以是文字、图形、图象、声音、言语。数据是数据库中存储的对象。2、数据库 存放数据的仓库。是长期存放在计算机内、有组织的、可共享的数据集合。 3、数据库管理系统DBMS DataBase Management System, 是位于用户和操作系统之间的一层数据管理软件。主要功能包括:数据定义 DBMS提供一种言语,用来定义数据,称为数据定义言语Data Definition Language, DDL数据支配 DBMS提供的用于对数据进展查询、插入、删除和修正的言语Data Manipulation La

2、nguage, DML数据库的运转管理 在数据库建立、运转和维护时,进展一致管理、控制,以保证数据的平安性、完好性、并发控制和系统恢复。数据库系统 是在计算机系统中引入数据库后的系统,组成如下: 数据库、数据库管理系统、运用系统、数据库管理员DataBase Administrator, DBA和用户。二、数据管理技术的开展过程1、人工管理阶段20世纪50年代中期以前,没有磁盘只需磁带和纸带,没有操作系统和数据管理软件。其特点如下: 数据不保管 运用程序管理数据 数据不共享 一组数据供一个程序运用,不能共享,存在大量的数据冗余。 数据不具备独立性 当数据改动后,必需对程序进展修正。2、文件系统

3、阶段20世纪50年代后期到60年代中期。有磁盘,有操作系统,操作系统中具备数据管理软件文件系统。特点如下:数据可以长期保管文件系统管理数据:数据组织在文件中,实行按名存取。数据具备一定的独立性。共享性差、冗余大:一个文件对应一个程序,共享性差。不同程序中的一样数据必需建立单独的文件,冗余度大,容易呵斥数据的不一致独立性差文件对应详细的运用程序,文件的构造改动,必需对程序修正。 3、数据库系统阶段 数据构造化:不仅描画数据,还描画数据之间的联络。数据的共享性高、冗余度低:数据库系统对数据进展一致管理,不再面向某个运用,面向整个系统,数据可以被多个运用和多个用户所共享。从而减少了数据冗余,防止了数

4、据的不一致性。数据的独立性高:运用程序和数据库中的数据是独立的。数据库中的数据改动了后,运用程序不需修正。 数据由DBMS一致管理和控制数据的平安性得到保证:合法用户对数据进展合法的运用和操作。并发控制数据的完好性检查:正确性和有效性检查。数据库恢复:当出现缺陷时,将数据库恢复到一致外形。 综上所述,数据库是长期存储在计算机内、有组织的、大量的、共享的数据集合,具有最小的冗余、较高的数据独立性。 6.2 数据模型 是描画数据及数据之间联络的模型。数据库总是基于某种数据模型的。 应能比较真实地模拟现实世界;容易为人所了解;便于在计算机上实现。 一、概念模型首先将现实世界的客观对象笼统为信息世界的

5、某种信息构造,称为概念模型,再将概念模型转换为某一DBMS支持的数据模型。根本概念:实体Entity客观存在并可相互区别的事物称为实体。属性(Attribute):实体具有的特性称为属性。属性组合起来表征了一个学生。 码Key:独一标识实体的属性或属性组。域(Domain):属性的取值范围。实体型Entity Type:具有一样属性的实体所具有的共同特征和性质。用实体名及属性名集合来笼统。例如,学生学号、姓名、性别、出生年月、系、入学时间实体集Entity Set同种实体的集合。全体学生就是一个实体集。 联络Relationship实体之间存在着联络。实体之间的联络分为三类:1一对一联络1:1

6、:实体集A中的每一个实体最多与实体集B中的一个实体,反之亦然。2一对多联络(1:n)实体集A中的每一个实体与实体集B中的n个实体(n=0)联络,而实体集B中的每一个实体与实体集A最多只需一个实体联络。如班级集和学生集是一对多联络。多对多联络(m:n)实体集A中的每一个实体与实体集B中的n个实体(n=0)联络,而实体集B中的每一个实体与实体集A中的m个(m=0)实体联络。如课程和学生之间的联络。课程学生选课2、 概念模型的表示方法实体联络模型Entity-Relation 实体:矩形表示 属性:用椭圆表示 学生学号姓名性别出生年月入学时间系联络:用菱形表示 课程学生选课三、数据模型 层次、网络和

7、关系模型。1、层次模型用树型构造来描画实体及实体之间的联络。特点:1只需一个称为根的结点。2其它结点有且只需一个双亲结点。表示一对多的实体联络。 优点:简单。缺陷:对于多对多联络、一个节点有多个双亲等,不能很好描画。 2、网络模型 用网状构造描画实体及实体之间的联络。特点:1允许一个以上的节点无双亲。2一个节点可以有多个双亲。优点:直接描画现实世界,效率高。缺陷:构造复杂。 2、关系模型用关系表来描画实体及实体之间的联络。关系:表元组:表中的一行属性:表的一列主码:独一确定元组的属性或属性组。关系的描画方式:关系名属性1,属性2, ,属性n学生学号、姓名、性别、出生年月、系、入学时间 用关系来

8、描画实体及实体之间的联络。如学生课程、学生与课程之间的多对多联络: 学生学号、姓名、性别、出生年月、系、入学时间 课程课程号,课程名,学分 选课学号,课程号,成果特点:1建立在严峻的数学根底上。2简单:构造简单、明晰易用。3存取途径透明。缺陷:查询效率不高。 6.3 数据库系统构造 一、方式及其构造 1、方式 描画数据的型,而不涉及值。是对全体数据的逻辑构造的描画。方式的一个详细值称为一个实例。 2、三级方式构造 方式 也称为逻辑方式,是对全体数据的逻辑构造和特征的描画,是一切用户的公共数据视图。与物理存储细节无关,与运用程序无关。 学生学号,姓名,年龄) 课程课程号,课程名 选课学号,课程号

9、,成果外方式也称为子方式或用户方式,是用户看到和运用的部分数据的逻辑构造和特征描画,是用户视图,与详细运用有关的数据的逻辑描画。学习学号,姓名,课程号,成果内方式存储方式,是数据的物理构造和存储方式的描画,是数据的内部表示方式。如能否有索引、聚集,存放在哪个盘等。2、二级映射 外方式/方式:提供逻辑独立性。方式/内方式映射:提供物理独立性。学号姓名性别班级980001张栅女机制99990211李诗女信息99991204王武男电子99学号姓名奖学金980001张栅200990211李诗500991204王武100学号姓名性别年龄籍贯班级奖学金980001张栅女18江苏机制99200990211李

10、诗女19北京信息99500991204王武男19陕西电子99100980001 990211991204用户用户数据库数据库概念概念数据库数据库物理物理数据库数据库奖学金发放学籍管理运用程序运用程序数据在数据文件中以链表方式存储6.3 SQL根底SQL Structured Query Language) 一、建立表CREATE TABLE table_name(column_name data-type consraint, )一、建立表CREATE TABLE employee(eid CHAR(6),name VARCHAR(8) NOT NULL,age NUMERIC(3,0),co

11、untry VARCHAR(10) NULL)一、建立表CREATE TABLE employee(eid CHAR(6) NOT NULL PRIMARY KEY,name VARCHAR(8) NOT NULL),age NUMERIC(3,0),country VARCHAR(10) NULL)二、 插入记录INSERT INTO 表名 列名表 VALUES 值表INSERT INTO employee (eid, name, age, country) VALUES (3018, zhang, 28, China) INSERT INTO employee VALUES (3056,

12、wang, 35, USA)INSERT INTO employee (eid, name, country) VALUES (4025, li, Russia)二、 插入记录三、修正记录UPDATE 表名 SET 字段名=表达式 WHERE 条件 UPDATE employeeSET name=Li MingWHERE eid=4025三、修正记录UPDATE employeeSET name=Zhang Li,age=36,country=USAWHERE eid=3056可以修正多个字段的值。假设不带WHERE修正一切的记录。四、删除记录DELETE 表名WHERE 条件DELETE e

13、mployeeWHERE eid=3018 五、 查询记录1、 简单查询SELECT 表达式 FROM 表名表WHERE 条件GROUP BY 字段名表HAVING 条件ORDER BY 字段名表 1、 举例SELECT pub_id, pub_name, countryFROM publishersSELECT * FROM publishers2、 删除反复的行DISTICT SELECT city, stateFROM authersSELECT DISTICT city, stateFROM authers 3、 计算表达式 SELECT t i t l e_i d, t ype, p

14、 r i c e , price_price*0.3FROM title SELECT au_lname+.+au_fname, city+.+stateFROM authors4、挑选条件 1条件:= = != price45.3country=China NOT AND OR Country=China AND age35 2举例SELECT title_id, type, price, price - price*0.3 FROM titlesWHERE price - price*0.318SELECT pub_id, pub_nameFROM publishersWHERE coun

15、try=USA AND state=CA5、 LIKE 列名 NOT LIKE 方式%: 恣意字符串, _:恣意一个字符 SELECT au_lname+.+au_fname, city+.+stateFROM authorsWHERE au_fname LIKE D% SELECT au_lname+.+au_fname, city+.+stateFROM authorsWHERE au_id LIKE 72_-%5、 LIKE 6、 结果排序ORDER BY 字段表通常前往的结果是随机陈列的。 SELECT stor_name, cityFROM storesORDER BY store_

16、nameSELECT stor_name, cityFROM storesORDER BY store_name DESC SELECT stor_name, cityFROM storesORDER BY store_name ASC6、 结果排序SELECT stor_name, cityFROM storesORDER BY stor_name, city 用多个列陈列。 SELECT stor_name, cityFROM storesORDER BY state用不出现的列。 SUMexpressionAVG expression MIN expression MAX express

17、ion COUNT expression COUNT*7、 统计函数 SELECT AVG(price)FROM titles SELECT MAX(price)FROM titlesWHERE type=business7、 统计函数 S E L E C T AV G ( q t y ) , S U M ( q t y ) , COUNT(DISTICT stor_id)FROM sales SELECT COUNT*FROM publishersWHERE state=CA7、 统计函数 8、 结果分组 1GROUP BY 分组列名表SELECT type, AVG(price), SUM

18、(price), COUNT(*)FROM titlesWHERE type in (business, mod_cook, trad_cook)GROUP BY typeSELECT type, pub_id, AVG(price), SUM(price), COUNT(*)FROM titlesWHERE type in (business, mod_cook, trad_cook)GROUP BY type, pub_idGOGROUP BY 分组列名表HAVING 条件对GROUP的分组结果再进一步挑选。 SELECT type, AVG(price), SUM(price), COU

19、NT(*)FROM titlesWHERE price$10GROUP BY type2 运用HAVINGSELECT type, AVG(price), SUM(price), COUNT(*)FROM titlesWHERE price$10GROUP BY typeHAVING AVG(price)$202 运用HAVING9、 多表查询1笛卡尔乘积SELECT title_id, au_fnameFROM titles, authors SELECT titles.title_id, titles.title, titleauthor.au_id FROM titles, titlea

20、uthor2 别名SELECT t.title_id, t.title, ta.au_id FROM titles t, titleauthor ta SELECT t.title_id, t.title, ta.au_id FROM titles t, titleauthor taWHERE t.title_id=ta.title_id3挑选USE pubsSELECT t.title_id, a.au_id FROM titles t, titleauthor ta, authors aWHERE t.title_id=ta.title_id and ta.au_id=a.au_id 第7

21、章 关系数据库 7.1 关系的数学定义关系方式:用二维表格来描画实体及实体之间的联络。1 域:同类型值的集合。如整数的集合0,1,2,3 ,大写字母的集合A,B,C, Z。2 笛卡尔乘积设D1,D2,D3,Dn为恣意集合,D1,D2,D3, Dn的笛卡尔乘积乘积为:D1D2D3Dn=d1,d2,d3, dn|diDi, i=1, 2, n其中每个元素称为一个n元组。例如D1=0,1, D2=a, b, cD1D2=(0,a), (0, b), (0, c), (1, a), (1,b), (1, c)3 关系笛卡尔乘积D1D2D3 Dn的任一子集称为D1D2D3 Dn上的一个n元关系。例如:R

22、1=(0,a), (0, b), (0, c)和R2=(1, a), (1,b), (1, c)都是D1,D2上的一个关系。7.2关系代数关系代数:施加于关系上的集合代数运算。分为:传统的集合运算和专门的关系运算。7.2.1集合运算:集合的交、并、差等。7.2.2关系运算 1 选择从关系中找出满足给定条件的一切元组。程度方向抽取元组。是原关系的子集。F(R)=t | tR F(t)=True例如:B BC CD D2 23 32 25 56 63 39 98 85 5B=5(S)B BC CD D5 56 63 3SB=5(S) B=5(S) 2 投影从关系中选择假设干个属性所组成的新关系。对

23、关系进展垂直分解。比原有关系属性少。X(R)=tX tR其中X表示一组属性名。 RA AB BC C1 12 23 34 45 56 67 78 89 9A AC C1 13 34 46 67 79 9A,C(R) 3 衔接将两个关系拼接为一个更宽的关系,新关系中包含满足衔接条件的元组。F(RS)=tR, tS | tRR tSS FR(tR)=True FS(tS)=True A AB BC CB BC CD D1 12 23 32 23 33 34 45 56 65 56 63 3B BC CD D2 23 32 25 56 63 39 98 85 5A AB BC C1 12 23 34

24、 45 56 67 78 89 9RS3=2(RS) 7.3 关系数据库实践 7.3.1数据存储异常关系:Sno,name,department,dean,course, grade选课关系学号,姓名,所在系,系主任,课程,成果存在以下问题:1插入异常:假设一个系刚成立,还没有学生,无法将该系及其担任人的信息存入数据库。2删除异常:假设一个系的一切学生都毕业了,在删除一切学生选课记录的时候,该系及其担任人的信息也丧失了。3冗余大:多少学生选课,该系及其担任人的信息就要出现多少次。呵斥存储空间的浪费,容易引起数据的不一致性。 缘由:数据之间的依赖。 nonodepartmendepartment

25、 tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94947.3.2函数依赖 1 函数依赖定义设RU是一个关系方式,X和Y是U的两个子集,假设R中的恣意两个元组,X上属性值一样时,Y上属性值也必然一样,称Y函数依赖于X,或X函数决议Y。记为X

26、Y。nonodepartmendepartment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学9494假设对X的任何真子集X1,X1Y不成立, 称Y完全函数依赖于X, 记为X1Y;否那么称Y部分函数依赖于X,记为X1Y 。fpnonod

27、epartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94942 传送函数依赖 设RU是一个关系方式,X、Y和Z是U的子集,假设XY,YZ,且X不函数依赖于Y,称Z传送函数依赖于X。nonodepartmende

28、partment tdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94947.3.3 关系的规范化 关系要满足一定的要求,根据满足程度的不同,分为不同的范式Normal Form。1 第一范式1NF满足最低要求的称为1NF。一切属性都是根本数

29、据项。例如: nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统数据库数据库系统工程系统工程编译原理编译原理757578789090676791039103数学数学李力量李力量高等数学高等数学经济学经济学87879494将一个元组拆开为多个元组。 nonodepartmentdepartmentdeandeancoursecoursegradegrade91019101计算机计算机张强张强操作系统操作系统757591019101计算机计算机张强张强数据库数据库787891019101计

30、算机计算机张强张强系统工程系统工程909091019101计算机计算机张强张强编译原理编译原理676791039103数学数学李力量李力量高等数学高等数学878791039103数学数学李力量李力量经济学经济学94941NF存在数据冗余、插入、删除异常景象。 2 第二范式2NF 假设R是1NF,并且每个非主属性都完全函数依赖于关键字,那么R是2NF。由于:no, course是关键字。no, course部分决议dean和department。拆分为N_C(no,course,grade)和N_D (no,department, dean)在N_C中,no, course是主关键字。no, c

31、ourse完全决议grade。N_Cnocoursegrade9101操作系统759101数据库789101系统工程909101编译原理679103高等数学879103经济学94在N_D中,no是主关键字,no完全决议department 和dean。N_D:nonodepartmentdepartmentdeandean91019101计算机计算机张强张强91039103数学数学李力量李力量3 第三范式3NF 假设R是2NF,并且每个非主属性都不传送函数依赖于关键字,那么R是3NF。N_C (no,course,grade)是3NF,但N_D (no,department, dean)不是3NF,由于department函数依赖于no, dean函数依赖于department,所以dean传送函数依赖于no。将N_D(no,department, dean)拆分为N_D_1(no,department)和D_D(department, dean)departmentdean计算机张强数学李力量nodepartment9101计算机9103数学N_D1D_D4 其他范式 B

温馨提示

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

最新文档

评论

0/150

提交评论