数据库概论| 青训营笔记

195 阅读6分钟

一、数据库绪论

数据库的四个概念

  • 数据(Data):数据是数据库中存储的基本对象,它是描述事物的符号记录。
  • 数据库(Database):数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
  • 数据库管理系统(DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是一个大型复杂的软件系统,它主要用于科学地组织和存储数据、高效地获取和维护数据。
  • 数据库系统(DBS):数据库系统主要是由数据库、数据库管理系统(及其开发工具)、数据库管理员以及应用程序所构成的一套人机系统。

信息世界中的基本概念

  • 实体(Entity):客观存在并可相互区别的事物称为实体。
  • 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成。(94002268,张山,男,1976,计算机系,1994)这些属性组合起来表征了一个学生。
  • 码(Key):唯一标识实体的属性集称为码。例如学号是学生实体的码。
  • 域(Domain):属性的取值范围称为该属性的域。例如,学号的域为8位整数,姓名的域为字符串集合,年龄的域为小于38的整数,性别的域为(男,女)。
  • 实体型(Entity Type) :具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。
  • 实体集(Entity Set):同型实体的集合称为实体集。例如,全体学生就是一个实体集。
  • 联系(Relationship) :在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。

两个实体型之间的联系

两个实体型之间的联系可以分为三类:

一对一联系(1 : 1)

如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1 : 1。例如,学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。

一对多联系(1 : n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1 : n。例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。

多对多联系(m : n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m : n。

常见的数据模型

  • 层次模型(Hierarchical Model)
  • 网状模型(Network Model)
  • 关系模型(Relational Model))
  • 面向对象数据模型(Object Oriented Data Model)
  • 对象关系数据模型(Object Relational Data Model)
  • 半结构化数据模型(Semistruture Data Model)

数据库系统结构

  • 从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。

  • 从数据库最终用户角度看,数据库系统的结构分为:

    • 单用户结构
    • 主从式结构
    • 分布式结构
    • 客户-服务器结构
    • 浏览器-应用服务器结构
    • 数据库服务器多层结构

数据库系统的组成

  • 数据库
  • 数据库管理系统(及其开发工具)
  • 数据库管理员
  • 应用程序

数据库管理员职责

  1. 决定数据库中的信息内容和结构。
  2. 决定数据库的存储结构和存取策略。
  3. 定义数据的安全性要求和完整性约束条件。
  4. 监控数据库的使用和运行。
  5. 数据库的改进和重组。

二、关系型数据库

域(Domain): 域是一组具有相同数据类型的值的集合。

笛卡尔积(Cartesian Product): 给定一组域D1,D2,…,Dn,允许其中某些域是相同的。D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn ={(d1,d2,…,dn)|di∈Di,i=1,2,…,n},笛卡尔积是所有域的所有取值的一个组合,它不能重复。

  • 元组(Tuple):笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。
  • 分量(Component):笛卡尔积中每一个元素(d1,d2,…,dn)中的每一个值di叫作一个分量。
  • 基数(Cardinal number):若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为: img

关系(Relation): D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn),其中,R为关系名,n为关系的目或度(Degree)。

什么是关系模式?

关系模式是对关系的描述。如元组集合的结构,完整性约束条件。

关系操作

常用关系操作:

  • 查询操作:选择、投影、连接、除、并、差、交、笛卡尔积(选择、投影、并、差、笛卡尔基是5种基本操作,交、连接、除,可以用5种基本运算来表达,引进它们并不增加语言的能力,但可以简化表达)
  • 数据更新:插入、删除、修改

三、SQL语言

SQL的功能

image-20201123125725848

SQL的结构

SQL支持关系数据库三级模式结构:

image-20201123125908372

SQL的数据类型

image-20201123135349095

image-20201123194545322