avatar

数据库概论

绪论

数据模型

数据模型由概念模型逻辑模型构成
如下图所示:

概念模型

用于按照用户的观点进行对数据和信息建模,用于数据库设计,供数据库设置人员和用户交流

  1. 实体(Entity):客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
  2. 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画
  3. 码(Key):唯一标识实体的属性集称为码。
  4. 实体型(Entity Type): 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
  5. 实体集(Entity Set): 同一类型实体的集合称为实体集
  6. 联系(Relationship): 实体间(指属性和实体的联系)|实体内联系(如1对1,1对n,多对多)
    E-R图就是用来描述概念模型
数据模型的性质
  1. 数据结构
    • 以数据结构来命名数据模型:如层次结构-层次模型,关系结构-关系模型
  2. 数据操作
    • 操作类型:如更新(增|删|改|)和查
    • 操作语言:QL|DML
  3. 完整性约束
常见的数据模型(以其数据结构命名)
  • 格式化模型:该类模型复杂,并且语言趋向于程序化
    • 层次模型(Hierarchical Model)
    • 网状模型(NetWork Model)
  • 关系模型(Relational Model)
  • 对象模型
    • 面向对象模型(Object Oriented Data Model)
    • 对象关系模型(Object Relational Data Model)
  • 半结构化模型(Semi-struture Data Model) 如xml
  • 非结构化模型,图模型
结构化模型举例
  • 基本数据单位
  1. 层次模型:以树结构实现,不是二叉树
  1. 网状模型:使用网状结构表示 实体和实体间关系
  1. 关系型数据库:
  • 在用户的角度关系就是一张二元表
    • 关系(Relation)—— 一个关系对应通常说的一张表
    • 元组(Tuple)—— 表中的一行即为一个元组
    • 属性(Attribute)——表中的一列即为一个属性,给每一个属性起一个名称即属性名
    • 主码(Key)——也称码键。表中的某个属性组,它可以唯一确定一个元组
    • 域(Domain)——是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
      例:学生年龄属性的域(15~45岁),性别的域是(男,女),系名的域是一个学校所有系名的集合;
    • 分量——元组中的一个属性值
    • 关系模式——对关系的描述
      关系名(属性1,属性2,…,属性n)学生(学号,姓名,年龄,性别,系名,年级)
  • 关系是不可再分割的
  • 数据操作
  • 完整性:
  • 优缺点:

关系数据库

关系数据库数据结构和完整性
关系
域(domain)表示属性的取值,将域D1,D2,D3...做笛卡儿积,就会得到关系,即关系二维表表
完整性约束
  • 实体完整性
    • 主键约束(实际就是非空和联合主键)
  • 参照完整性:实体间引用存在关系
    • 引用的值应该存在,如学生选课表存在的数据才能被选择
    • 外键约束
  • 用户完整性
    • 唯一约束
    • 非主键非空
    • 指定取值
关系操作
关系代数
- 关系数据库语言:典型的为SQL
文章作者: fancylight
文章链接: https://www.fancylight.top/2019/01/04/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%A6%82%E8%AE%BA/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 博客
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论