数据库 & SQL Server 复习笔记

教材:《数据库技术及应用》 袁科萍,高等教育出版社

数据库技术概述

数据库系统的特点

① 采用一定的数据模型
② 最低的冗余度
③有较高的数据独立性
④安全性
⑤完整性
总之,数据库系统能实现有组织地、动态地存储大量有关联的数据,能方便多个用户访问。

数据模型

包含数据结构、数据操作和数据完整性约束三个部分:
数据结构是指对实体类型和实体间联系的表达和实现;
数据操作是指对数据库的检索和更新(包括插入、删除和修改)两类操作;
数据完整性约束给出数据及其联系应具有的制约和依赖规则。

数据库技术的发展

根据数据模型的发展来划分的,可分为三代:
第一代的层次、网状数据库系统;
第二代的关系数据库系统;
第三代的以面向对象模型为主要特征的数据库系统。

各代数据模型比较

层次模型: 树形结构
有且仅有一个结点无父节点,这个结点记为树的根;其他结点有且仅有一个父节点。
只能表示1:N,数据查询和更新操作复杂。
典型:IMS
在这里插入图片描述
网状模型: 有向图结构
M:N联系很容易实现,查询效率较高。但数据结构复杂、编程复杂。典型:CODASYL

关系模型: 二维表格
若干个关系模式的集合。数据结构简单。
在这里插入图片描述
对象模型:
对象(object)是现实世界中实体的模型化,与实体概念相仿,但远比实体复杂。将属性集和方法集相同的所有对象组合在一起,构成了一个类(class)。
对象数据库系统特点:
对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归的联系。
具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。

四种数据模型的比较

数据库系统的基本概念

数据库(DataBase,DB)

是长期保存在计算机外存上的、有结构的、可共享的相互关联的数据集合。数据库中的数据按一定的数据模型描述、组织和储存,具有很小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。

数据库管理系统(DataBase Management System,DBMS)

  1. 概念
    是指数据库系统中对数据库进行管理的软件系统,它是数据库系统的核心组成部分,数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。
  2. 功能
    数据库定义功能、数据库操纵功能、数据库查询功能、数据库控制功能、数据库通讯功能
  3. 常见的数据库管理系统
    SQL Server、Oracle、DB2、MySQL

数据库系统(DBS)

在这里插入图片描述

数据库三级模式结构

——SPARC报告指出的:数据库系统应具有三级模式结构,由外模式、模式和内模式构成。
在这里插入图片描述

  1. 模式也称逻辑模式( Logical schema ),是数据库中全体数据的逻辑结构和特征的描述。定义模式时不仅要定义数据的逻辑结构而且要定义与数据有关的安全性、完整性要求,定义这些数据之间联系。
  2. 外模式( external schema )也称子模式或用户模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式通常是模式的子集,一个数据库可以有多个外模式,应用程序都是和外模式打交道的。外模式是保证数据库安全性的一种有力措施,每个用户只能看见和访问对应的外模式中的数据,数据库中的其余数据对他们是不可见的。
  3. 内模式( internal schema )也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。一个数据只有一个内模式。

关系数据库

关系模型概述

**数据结构:**关系模型具有单一的数据结构:关系,逻辑结构就是二维表。
**关系操作:**关系代数
关系演算
关系数据库的标准语言 - SQL(Structured Query Language)
DDL (Data Definition Language)
DML (Data Manipulation Language)
DCL (Data Control Language)
关系的三类完整性约束
实体完整性(Entity Integrity )
参照完整性(Referential Integrity )
用户自定义的完整性

关系模型的基本术语

  1. 关系(Relation): 用二维表格表示实体及实体之间的联系的数据模型称为关系模型(Relational Model),一个关系可以理解为一张满足某些约束条件的二维表,如图中的读者表和借阅表。
  2. 属性(Attribute): 表中的一列称为属性,每个属性必须有唯一的属性名。例如读者表中有四个属性,分别为读者ID、姓名、性别和电话。
  3. 域(Domain): 属性的取值范围。比如性别的域是(男,女),电话的域是8位有效数字串,年龄的域是1~150岁之间的数字。
  4. 元组(Tuple): 表中的一行。在读者表中,每个元组有四个属性值,它们在表中可以按任意顺序存放,也就是说在一个表中任何元组的顺序发生改变,关系不发生变化。
  5. 度或目(Degree): 一个关系中属性的个数。例如在读者表中有4个属性,所以关系读者的度为4。只有一个属性的关系或度为1的关系称为单元关系(Unary relation),有两个属性的关系称为二元关系(Binary relation),有三个属性的关系称为三元关系(Ternary relation),依此类推,有n个属性的关系称为n元关系(n-ary relation)。
  6. 基数(Cardinality): 一个关系中元组的个数。例如读者表的基数为5

关系(Relation)的数学定义

  1. 域(Domain): 域是一组具有相同数据类型的值的集合。例如:一个机构的所有员工姓名的集合构成一个域,自然数的集合是个域等。
  2. 笛卡尔积(Cartesian Product): 给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple),通常用t表示。元素中的每一个值di叫作一个分量(Component)。
  3. 关系: D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)这里R表示关系的名字,n是关系的度。
    关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。

举例:在这里插入图片描述
在这里插入图片描述关系中的各种键:

  1. 超键(Super key): 一个关系中能唯一标识一个元组的单个属性或属性集。虽然在关系中超键能唯一确定一个元组,但组成超键的属性集不一定是最小的,也就是说还可以在超键属性集中找到更小的子集它也能唯一标识一个元组。
  2. 候选键(Candidate Key): 在关系中能唯一标识元组的最小属性集。
    候选键K有两个性质:
    唯一性(Uniqueness)——对于关系R的每个元组,K的值能唯一标识每个元组;
    不可缩减性(Irreducibility)——在K中找不出子集具有上述的唯一性。
    在一个关系中可以有若干候选键,当组成键的属性个数多于1个时,称之为复合(Composite Key)。
  3. 主键(Primary Key): 在候选键中指定一个键作为主键。包含在其中的属性称为主属性(Prime attribute),不包含在任何侯选键中的属性称为非主属性(Non-key attribute)。 在最简单的情况下,候选键只包含一个属性。在最极端的情况下,一个关系中的所有属性集构成这个关系的候选键,称为全键(All-key)
  4. 外键(Foreign Key): 设F为关系S的一个属性或属性集,但不是S的主键或候选键。如果F与关系R的主键KR相对应,则称F是关系S的外键。

关系的性质和关系模式

  1. 基本关系具有以下六条性质:
    ① 列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。
    ② 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
    ③ 列的次序可以任意交换。
    ④ 任意两个元组不能完全相同。
    ⑤ 行的次序可以任意交换。
    ⑥ 分量必须取原子值,即每一个分量都必须是不可分的数据项。
  2. 关系的名称和关系的属性集称为关系的模式。一般用下列形式表示关系模式:
    关系名(A1,A2,A3,…,An)
    其中A1,A2,A3,…,An为关系的属性,关系名是实体或实体之间联系的名称,在同一个数据库中关系名必须唯一。另外在关系模式中主键要用下划线标出。
    举例:
    学生关系模式为:
    student(snum,sname,age,dept)
    其中snum(学号)为主键。
    借阅关系模式为:
    借阅(读者ID,索取号,借阅日期,归还日期)
    其中{读者ID,索取号,借阅日期}为主键,是一个复合键。

关系代数

数据库 设计

标准语言SQL

Transact-SQL

数据库保护机制

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值