《sql server数据库应用与实践教程》课件第1章-概念模式与关系模式设计_第1页
《sql server数据库应用与实践教程》课件第1章-概念模式与关系模式设计_第2页
《sql server数据库应用与实践教程》课件第1章-概念模式与关系模式设计_第3页
《sql server数据库应用与实践教程》课件第1章-概念模式与关系模式设计_第4页
《sql server数据库应用与实践教程》课件第1章-概念模式与关系模式设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。StudentStuIDStuNameStuAgeStuSexDepName12001mary21女IS12002tom20男Math12003jack19男English12004nancy22女IS2CourseIDCourseNameCredit1Computer22math33English3Course3SCStuIDCourseIDGrade1200119012001292120013951200218012003276120043824综合示例1:查询至少选修1号课程和3号课程的学生号码

首先建立一个临时关系K:CourseID13πStuID,CourseID(SC)÷K5综合示例2:查询选修了2号课程的学生的学号πStuID(σCousreID='2'(SC))={12001,12003}

6综合示例3:查询选修了全部课程的学生号码和姓名。πStuID,CourseID(SC)÷πCourseID(Course)πStuID,StuName(Student)

第一章

数据库基础-E-R模型8目标画E-R图转换E-R图为数据库中的表9E-R模型的基本概念一个遵循E-R图的数据库在关系系统里可以表示为一组表。常规实体是构成数据库的最基本的元素。每个常规实体都对应于一张表。属性对应表中的列关系的每一种类型都以不同的方式映射为关系数据库管理系统里的表。表是用来存储和检索现实世界里的信息的,因此要以最优的方式来创建它们,最重要的原则是应使用尽量少的表及属性来描述现实世界。在关系系统里,连接操作通过两个或多个表格结合来检索所有信息。10一对一关系的转换假设一个学生只能完成一个项目,并且一个项目也只能由一个学生完成。请画出E-R图。学生实体有属性学号,姓名,住址。项目实体有属性项目号,项目名称。StudentProjectDoesStuIDStuNameStuAddressProjIDProjName一对一转换规则有两种方式:(1)每个实体对应一张表,选中其中一个实体为其添加外键,该外键来自于另一实体的主键。(2)将两个实体合并成一张表显示。可以任选一个实体的主键为合并表的主键。1111一对一关系的转换StudentProjectDoesStuIDStuNameStuAddressProjIDProjName方法一:Student(StuID,StuName,StuAddress,ProjID)Project(ProjID,ProjName)方法二:Student(StuID,StuName,StuAddress,ProjID,ProjName)11练习12一个系只能对应一个系主任,一个系主任也只能在一个系工作。请画出E-R图,并转换成表。系有属性系号,系名,系主任有员工号和员工名。13一对多关系的转换StudentDepartmentDoesStuIDStuNameStuAddressDepIDDepNamem1假设一个系可以有多名学生,而一名学生只能在一个系学习。请画出E-R图。学生实体有属性学号,姓名,住址。系实体有属性系号,系名称。一对多转换规则:每个实体对应一张表,其中“多”对应的实体转换的表添加一个外键,这个外键来自于“一”对应实体的主键。14一对多关系的转换StudentDepartmentHasStuIDStuNameStuAddressDepIDDepNamem1Department(DepID,DepName)Student(StuID,StuName,StuAddress,DepID)15练习:一个宿舍能容纳多名学生,一个学生只能住宿在一个宿舍。请画出E-R图,并转换成表。学生实体有属性学号,姓名,宿舍实体有宿舍号,容量。16假设一个学生可以选修多门课程,一门课程也可以由多个学生选修。请画出E-R图,并转换成表。学生实体有属性学号,姓名,住址。课程实体有课程号,课程名,学分。多对多关系的转换StudentCoursechooseStuIDStuNameStuAddressCourseIDCourseNamemnCredit多对多转换规则:每个实体对应一张表,其中“关系”也对应一张表,“关系”对应的表中选择两个实体的主键组合作为“关系”表中的主键。Grade17多对多关系的转换StudentCoursechooseStuIDStuNameStuAddressCourseIDCourseNamemnCreditStudent(StuID,StuName,StuAddress)Course(CourseID,CourseName,Credit)SC(StuID,CourseID,Grade)Grade18练习:一个学生可以借阅多本书,一本书也可以由多个学生来借阅。请画出E-R图,并转换成表。学生实体有属性学号,姓名,住址,书实体的属性有书号,书名,价格。19弱实体的转换每个员工都有子女,如果员工不存在了,则数据库没有必要保存其子女的信息,子女实体是弱实体。弱实体使用双矩形框表示,请画出E-R图,并转换成表。EmployeeEmpNameEmpIDChildChildNameChildAge转换规则:每个实体对应一张表,其中常规实体的主键成为弱实体的外键,同时这个外键也是弱实体的主键或主键的一部分。20弱实体的转换EmployeeEmpNameEmpIDChildChildNameChildAgeEmployee(EmpID,EmpName)Child(EmpID,ChildName,ChildAge)21超类与子类员工实体有属性员工号,姓名,住址,员工又分为小时工和全职员工,小时工有属性工作时间及小时工资,而全职员工属性有基本工资和奖金,请画出E-R图并转换成表。超类与子类间用“十”字相连。EmployeeEmpNameEmpIDEmpAddrHourlyEmployeeSalariedEmployeeHoursWagesSalaryBonus22超类与子类EmployeeEmpNameEmpIDEmpAddrHourlyEmployeeSalariedEmployeeHoursWagesSalaryBonus转换规则:每个实体对应一张表,每个子实体引入父实体的主键为自己的外键,同时这个外键又是子实体的主键。Employee(EmpID,EmpName,EmpAddr)HourlyEmployee(EmpID,Wages,Hours)SalariedEmployee(EmpID,Salary,Bonus)23练习:Animal实体有属性AniID,AniName,Weight,Animal子类有Fish,属性为Swim、子类Reptile,属性crawl及子类Carnivore,属性Eat_meat请画出E-R图,并转换成表。24数据库设计要点(1)在数据库设计过程中,有些属性本身又进一步需要一些属性来自我界定,这样这些属性就变成了实体。其中EmpAddr需要描述国家,城市,社区,街道等信息。EmployeeEmpNameEmpIDEmpAddrEmpNameEmpIDEmployeeSituatedEmpAddrCountryCityBlockStreet25数据库设计要点(2)如果有两个实体属性完全相同,则将两个实体合并。PriceCodeNameStoryBookPriceCodeNameTextBookPriceCodeNameBook数据库设计要点26(3)通过抽取高层实体集的子集来组成低层实体集,称为特化。WeightAniIDAniNameAnimalSwimCrawlEat_meatAnimalWeightAniNameFishCarnivoreSwimEat_meatAniIDReptileCrawl数据库设计要点27(4)与特化相反,两个或多个实体有一些共有属性,我们建立一个新的超类来简化引用,称为泛化。WeightAniIDAniNameFishSwimAnimalWeightAniNameFishCarnivoreSwimEat_meatAniIDReptileCrawlWeightAniIDAniNameReptileCrawl练习:28(1)有实体Student,Department,Book,Course,根据对学校管理的理解,请画出E-R图及分解成表。(2)假设系统中添加了Teacher和St

温馨提示

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

评论

0/150

提交评论