关系型数据库和SQL语言.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 关系型数据库和SQL语言;掌握关系模型的定义; 掌握SQL数据定义语句(CREATE) 掌握SQL数据插入语句(INSERT) 掌握SQL数据查询语句(SELECT); 了解关系运算的概念和规范化设计方法 了解SQL数据操纵功能(ALTER DELETE UPDATE DROP) 了解SQL数据控制功能(REVOKE GRANT) ;7.1 关系模型;关系模型的基本数据结构是关系(relation),一个关系形式上就是一张行列结构的二维表 属性的取值范围称为域(domain) 元组的总数称为关系的基数;一个具体的关系可以简单地以关系名及其属性列表来表示 下表中的教师实体的关系数据模式可以表示为: 教师(工号,姓名,性别,系别,职称) ;关系数据模型和数学中的关系概念区别: (1)元组个数为无限的关系没有现实意义,所以关系数据模型中的关系应该是有限集合。 (2)数学中元组的值是有序的,而关系模型不强调这种有序性,并通过对关系的各列添加属性名来取消这种有序性。;2. 关系的性质;;3. 主键和外键 ;例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属性),假定同一个教师可以讲授多门课程,不同班级的同一课程由不同的教师讲授: 教师(工号,姓名,出生年月,单位,性别,职称) 班级(班级编号,人数) 课程(课程编号,课程名称,学分,先修课程编号) 课表(课程编号,工号,班级编号) ;4. 关系的完整性约束 ;7.1.2 关系运算;2. 专门的关系运算 ;7.1.3 规范化设计方法 ;1. 第一范式(1NF);2. 第二范式(2NF);符合2NF的关系 ;3. 第三范式(3NF) ;关系型数据库和SQL语言; 规范化的优点 避免数据的插入、删除和更新异常,确保数据的一致性 避免数据的冗余,使数据库的结构简洁、明晰 当关系模式完全属于3NF,用户对记录值进行更新时就无须在超过两个以上的地方更改同一数值 规范化的缺点 关系模式中表的数目一般会有所增多 DBMS进行连接查询时系统的复杂度和运行时间都有所增加;7.2 结构化查询语言SQL ;2. SQL语言的组成及特点 ;(2)SQL语言的特点;3. SQL对关系模型的支持 ;数据库系统模式的概念;外模式(External Schema);内模式(Internal Schema);三级模式与二级???象;外模式/模式映象;外模式/模式映象的用途;模式/内模式映象;模式/内模式映象的用途;7.2.2 SQL数据定义功能;常用SQL数据类型 ;例7-5: 创建“学生管理”数据库,包含STU、CLASS和SGRADE表,其中:STU表由学号、姓名、性别、系别、生日5个属性组成,主键为学号,姓名不能为空;CLASS表由课程编号、课程名称、先修课程编号、学时、学分5个属性组成,主键为课程编号,课程名称唯一;SGRADE表由学号、课程编号和成绩3个属性组成,主键为(学号,课程编号)。 ① 创建STU表的SQL语句 CREATE TABLE STU( 学号 TEXT(7) PRIMARY KEY, 姓名 TEXT(16) NOT NULL, 性别 TEXT(2), 系别 TEXT(10), 生日 DATE);;② 创建CLASS表的SQL语句 CREATE TABLE CLASS( 课程编号 TEXT(3) PRIMARY KEY, 课程名称 TEXT(20) UNIQUE, 先修课程编号 TEXT(3), 学时 SMALLINT, 学分 SMALLINT); ③ 创建SGRADE表的SQL语句 CREATE TABLE SGRADE( 学号 TEXT(7) REFERENCES STU(学号), 课程编号 TEXT(3) REFERENCES CLASS(课程编号), 成绩 SMALLINT, PRIMARY KEY(学号,课程编号)); 添加自定义完整性约束条件的方法 ;2. 修改基表;3. 删除基表 ;4. 定义索引;例7-8:在例7-5所创建的表上创建索引,使STU表中的记录按生日从小到大排序,使SGRADE表中的成绩按从大到小排序。 CREATE INDEX S_生日 ON STU(生日); CREATE UNIQUE INDEX S_成绩 ON SGRADE(成绩 DESC); ;5. 删除索引

文档评论(0)

smartxiaohuli + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档