《524数据库原理及应用》

文章目录

1.绪论

1)数据库管理技术的发展史

  • 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支
  • 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透
  • 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志
  • 经历了三代演变:层次/网状系统、关系系统、新一代数据库系统家族

2)* 数据库管理系统的概念和功能

  • 数据(Data):描述事物的符号记录,是数据库中存储的基本对象
  • 数据库(Datebase):是长期存储在计算机内、有组织的、可共享的大量数据的集合
  • 数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件
    • 主要功能:数据定义,数据组织、存储和管理,数据操纵,数据库的事务管理和运行管理,数据库的建立和维护功能等
  • 数据库系统(DBS):在计算机系统中引入数据库后构成的系统,由数据库,数据库管理系统,应用系统,数据库管理员构成

3)* 数据库系统的特点

  1. 数据结构化
  2. 数据的共享性高,冗余度低,易扩充
    • 数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用
    • 数据共享的好处:减少数据冗余,节约存储空间;使系统易于扩充;避免数据之间的不相容性与不一致性
  3. 数据独立性高
    • 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,当数据的物理存储改变了,应用程序不用改变。
    • 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
    • 数据独立性是由DBMS的二级映像功能来保证的
  4. 数据由DBMS统一管理和控制
    • DBMS提供的数据控制功能:
      • 数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏。
      • 数据的完整性(Integrity)检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。
      • 并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
      • 数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态。

4)* 数据库的三级模式结构、两级映像功能和数据独立性

  1. 三级模式结构:
    • 模式(schema)(也称逻辑模式):
      • 数据库中全体数据的逻辑结构和特征的描述
      • 所有用户的公共数据视图,综合了所有用户的需求
      • 一个数据库只有一个模式
      • 模式的地位:
        • 是数据库系统模式结构的中间层
        • 与数据的物理存储细节和硬件环境无关
        • 与具体的应用程序、开发工具及高级程序设计语言无关
      • 模式的定义:
        • 数据的逻辑结构(数据项的名字、类型、取值范围等)
        • 数据之间的关系
        • 数据有关的安全性、完整性要求
    • 外模式(external schema)(也称子模式或用户模式):
      • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
      • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
      • 外模式的地位:
        • 介于模式与应用之间
        • 模式与外模式的关系:一对多
        • 外模式与应用的关心:一对多
      • 外模式的用途:
        • 保证数据库安全性的一个有力措施
        • 每个用户只能看见和访问所对应的外模式中的数据
    • 内模式(internal schema)(也称存储模式):
      • 是数据物理结构和存储方式的描述
      • 是数据在数据库内部的表示方式
        • 记录的存储方式(顺序存储,按照B树结构存储,按hush方式存储)
        • 索引的组织方式
        • 数据是否压缩存储
        • 数据是否加密
        • 数据存储记录结构的规定
      • 一个数据库只有一个内模式
        在这里插入图片描述

5)* 数据模型的组成要素和典型的数据模型

6)* 概念模型的基本概念和概念模型的常用表示方法(ER图)

7)数据库系统的结构

2.关系数据库

1)* 关系模型的基本概念和组成

2)* 关系的完整性约束

3)* 关系的基本术语和形式化定义

4)* 关系代数的分类、基本运算、查询表达

5)关系演算

3.关系数据库标准语言SQL

1)SQL概貌、特点和基本概念

2)* SQL数据定义语言

3)* SQL数据查询语言(熟练掌握)

4)* SQL数据更新语言

5)* 视图的定义与使用

6)* 数据控制语言

7)SQL语言的嵌入式使用

8)视图消解过程及对视图操作的限制

4.数据库安全性

1)* 数据库安全性的概念

2)* 数据库的安全性控制

3)视图机制、审计、数据加密及其它安全性保护

5.数据库完整性

1)* 数据库完整性概念

:实体完整性、参照完整性、用户自定义完整性、完整性约束命名字句

2)* 数据库完整性控制机制

域、触发器

6.关系数据库规范理论

1)关系规范化作用

2)* 函数依赖、码、部分函数依赖和传递函数依赖的概念

3)规范化程度不高的范式存在的问题

4)* 1NF、2NF、3NF、BCNF等范式的定义

5)* Armstrong公理系统的推理规则和导出规则

6)* 函数依赖闭包的定义和相应算法、函数依赖集等价的定义和充要条件

7)* 最小依赖集的定义和极小化过程

8)模式分解的三种定义

9)* 可分解至3NF的多种模式分解算法

7.数据库设计

1)* 数据库设计的思想、策略、步骤、基本概念和各阶段的任务

2)*概念结构设计方法和ER图设计方法(熟练掌握)

3)* ER图转换成关系模式的方法(熟练掌握)

4)数据库的物理设计、数据库实施与维护

8.关系查询处理和查询优化

1)关系数据库查询优化的重要性

2)* 关系代数等价变换规则

3)* 关系数据库系统的查询优化方法;能把SQL语句转换成查询树,对查询树进行代数优化,转换成优化的查询树

9.数据库恢复技术

1)* 事务的概念和特性

2)* 数据库系统中故障的种类

3)* 数据库恢复的意义和实现技术

4)* 各种故障的恢复策略

5)具有检查点的故障恢复技术

6)镜像数据库的作用

10.并发控制

1)数据库并发操作引起的问题

2)* 数据库并发控制的意义和实现技术

3)* 共享锁和排它锁的特点

4)封锁协议

5)* 事务的串行化概念

6)* 两段锁协议

7)多粒度锁及意向锁概念

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验1 数据库及数据定义 1、创建一个名为XSCJ的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 2、将以上XSCJ数据库的主数据文件的最大大小改为不限制。 3、参照教材82页例3.5、例3.6、例3.7分别建立Student表、Course表和SC表,并录入数据库表中相应元组。 4、分别采用SQL编程模式和设计模式修改Course表,为其增加一列开课学期,数据类型自行定义。 5、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。 6、分离数据库XSCJ并拷贝文件至U盘保存好,用于下次实验;然后再将其附加上。 7、删除唯一索引Cname_idx。 8、删除基本表Student。 实验2 数据查询 将上次实验课的学生成绩数据库(XSCJ)附加到SQL SERVER中,录入数据后做如下查询。 1) 查询选修了课程的学生的学号; 2) 查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF; 3) 查询年龄在18到20(包括18岁和20岁)之间学生的学号、姓名和系。 4) 查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 5) 用LIKE查询课程名为DB_ S的课程号和学分。 6) 查所有有成绩的学生学号和课程号。 7) 查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄升序排列 8) 查询选修了课程的学生人数。 9) 计算1号课程的学生平均成绩。 10) 查询有2人以上(含2人)同学选修课程的课程号。 11) 查询1号课程的间接先修课。 12) 查询每个学生的学号、姓名、选修的课程名及成绩。 13) 找出每个学生高于他选修课程平均成绩的课程号。 实验3 数据更新和视图 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 1) 将一个新学生元组(学号:95007;姓名:张娜丽;性别:女;所在系:IS;年龄:18岁)插入到Student表中。 2) 插入一条选课记录,插入一条选课记录( '95007','1 ')。 3) 对每一个系,求学生的平均成绩,并把结果存入数据库。 (建立一张表,然后通过子查询将结果插入表中。) 4)将全体学生的年龄增加一岁。 5)将信息系全体学生的成绩置零。 6)删除95001学生的记录。 7)删除信息系所有学生的选课记录。 8)建立计算机学生的视图CS_S。(视图中包括学号,姓名,年龄,系),并要求进行修改和插入操作时仍需保证该视图只有计算机系的学生。(视图中包含的属性名称自拟) 9)向CS_S视图中插入分别插入两条信息,如果不能插入说明原因。 (学号:95002;姓名:李华华;所在系:IS;年龄:18岁) (学号:95003;姓名:王冬冬;所在系:CS;年龄:20岁) 10)利用CS_S视图完成以下查询。 查询计算机学生年龄小于20岁的学生(学号、年龄) 查询计算机系选修了2号课程的学生(学号、姓名)。 实验4 数据库的安全性 实验内容 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 (1)在SQL Server Management Studio中创建三个登录帐户:log1、log2、log3。 (2)利用前面建立的XSCJ数据库,用log1登录,能否操作XSCJ数据库?为什么? (3)将log1、log2、log3映射为XSCJ数据库中的用户。 注意:此映射步骤会为登陆名log1在XSCJ中自动建立同名数据库用户log1。log2和log3同理。 (4)用log1登录,能否访问XSCJ数据库?为什么? (5)授予log1、log2、log3具有对Student、Course、SC三张表的查询权。并且log1有权将查询SC表的权限授予其他用户。 (6)分别用log1、log2、log3登录,对上述三张表执行查询。 (7)分别用log1、log2登陆,在查询分析器中执行以下语句,用来授予log3 对SC表的访问权限,会出现什么情况? 实验5 数据库的完整性 将学生成绩数据库(XSCJ)附加到SQL SERVER中,完成如下实验任务。 (1)录入或变更数据,验证所建立的实体完整性规则及其违约处理。 (2)录入或变更数据,验证所建立的参照完整性规则及其违约处理。 (3)自行设定某些列,使得其不允许取空值。 (4)自行设定某些列,使得该列值不允许重复。 (5)自行设定某些列的默认值。 (6)用Check短语限定考试成绩的取值范围在0到100之间。 (7)为Student表设计一个触发器,使得新增一个学生时,自动为其分配一个学号。 实验6 数据库编程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值