数据库章节2汇编.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库章节2汇编

Constrains on Relations (关系的约束) * 完整性约束条件 (Integrity Constrains, IC) 当关系模式建立(Create Table)后,所有的IC就都确定了。 当关系被修改(add, remove, update)时,所有的IC都要检查 一个关系的合法实例必须满足所有的IC DBMS会自动检查IC以防止错误的数据输入和操作 * IC的种类 域约束条件(Domain Constrains) 码约束条件(Key Constrains) 外码约束条件(Foreign Key Constrains) 其它约束条件(General Constrains) * 域约束条件(Domain Constrains) 分量必须与域一致 如:模式 Student(sid:String, name:String…) 元组 Jonessid:’55001’, name:55….. * 码约束条件(Key Constrains) 码是关系中能够唯一识别不同记录的最小化的属性 不同的记录的码应该不同 码是最小化的 否则,是超码(SuperKey) 若码的属性个数大于1,则由DBA选择一个属性作为主要码(Primary Key) 目的 当表被修改时,如增加记录,DBMS会检查相应的码以确保新记录能够被唯一地识别。 * 码的例子 sid name login age sex 53666 Jones jose@cs 18 M 53688 Smith smith@eecs 18 M 53650 Smith smith@math 19 M * 合法的码:{sid}, {login}, {name, age} 非法的码:{name}, {age} 合法的超码:{sid, sex}, {sid, age}, and {sid, name,login, age, sex) 主码(Primary Key)和候选码(Candidate Key) 一个关系可以有多个候选码,但主码只有一个 DBMS会给主码建立索引以优化查询速度 * 外码(Foreign Key) stuid是外码 外码对应于相应关系中的主码,好比C语言中的指针 * sid name login age sex 53666 Jones jose@cs 18 M 53688 Smith smith@eecs 18 M 53650 Smith smith@math 19 M cid grade stuid dtabase141 80 53666 Algorithm201 90 53688 Students relation Enrolled relation Primary Key Foreign Key 外码约束条件(Foreign Key Constrains) 如果两个不同的关系中有相同的属性,如sid 删除一个关系中的记录,另一个关系中的相应记录就会成为非法的 * sid name login age sex 53666 Jones jose@cs 18 M 53688 Smith smith@eecs 18 M 53650 Smith smith@math 19 M cid grade stuid dtabase141 80 53666 Algorithm201 90 53688 Students relation Enrolled relation They are related Invalid stuid 其它约束条件(General Constrains) 例如:学生的年纪必须大于18 分两类 表约束(Table Constrains):如上例 声明:设计到多个表,如:如果在Enrolled关系中一个学生有1/3的课分数没及格,那么在Students关系中该学生的状况将是留级。 * Why Relations? Very simple model. Often matches how we think about data. Abstract model that underlies SQL, the most important database language today. * Software Engineering Database Technology (软件工程与数据库技术) YAN XING(邢延) Lecture 2 Ch2 Relational Database Modeling (关系数据库模型) Outline Data model(数据模型) Relational data model and its basic con

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档