数据库系统概述

image-20220507103302383image-20220507103302383

数据库原理 封锁及封锁协议数据库原理 封锁及封锁协议

image-20220430113313856image-20220430113313856 image-20220430113426145image-20220430113426145 image-20220430114650757image-20220430114650757 image-20220430114845824image-20220430114845824

在这里插入图片描述在这里插入图片描述

数据库 优势 缺点
MySQL 1)MySQL性能卓越,服务稳定,很少出现异常宕机。 2)MySQL开放源代码且无版权制约,自主性及使用成本低,版本更新较快。 3)MySQL软件体积小,安装使用简单,并且易于维护,安装及维护成本低。 4)MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言有很好的支持。 数据量大时处理性能不及Oracle
SqlServer 1)真正的客户机/服务器体系结构 2)图形化的用户界面,使系统管理和数据库管理更加直观、简单 3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地 4)与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,SQL Server也可以很好地与Microsoft BackOffice产品集成。 5)提供数据仓库功能,这个功能只在Oracle和其他昂贵的DBMS中才有。 只能在Windows系统下运行
Oracle 1)Oracle 能在所有主流平台上运行 2)Oracle 性能高,保持开放平台下TPC-D和TPC-C世界记录 3)获得最高认证级别的ISO标准认证 价格昂贵
PostgreSQL 1)PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步。 2)PG 性能高速度快。任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降。 3)PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型。 4)PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统 5)PG对数据量大的文本以及SQL处理较快
SQLite 1)零配置,SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复 2)SQLite是被设计成轻量级,自包含的,不依赖服务进程 3)采用无数据类型,所以可以保存任何类型的数据,SQLite采用的是动态数据类型,会根据存入值自动判断 4)可移植,可运行在不同操作系统上 数据量不宜过大,sql语句执行相比其他数据库效率较低

数据库设计

image-20220324210352687image-20220324210352687

image-20220324211117454image-20220324211117454

image-20220324211253052image-20220324211253052

ER图

image-20220324145814966image-20220324145814966

ER图转关系模式

1.实例1:将教学管理ER图转换为关系模式

imgimg
(1)把三个实体类型转换成三个模式:
   ①系(系编号,系名,电话)
   ②教师(教工号,姓名,性别,职称)
   ③课程(课程号,课程名,学分)
(2)对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)。对于1:N联系“聘任”,可以在“教师”模式中加入系编号(系编号为外键)。对于1:N联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。

  •    ①系(系编号,系名,电话,主管人的教工号)
  •    ②教师(教工号,姓名,性别,职称,系编号)
  •    ​ ③课程(课程号,课程名,学分,系编号)

(3)第三步:对于M:N联系“任教”,则生成一个新的关系模式:
   ①任教(教工号,课程号,教材)
(4)这样,转换成的四个关系模式如下:
   ①系(系编号,系名,电话,主管人的教工号)
   ②教师(教工号,姓名,性别,职称,系编号)
   ③课程(课程号,课程名,学分,系编号)
   ④任教(教工号,课程号,教材)

2.实例2:一元联系类型ER图结构转换为关系模式

imgimg
(1)运动员名次之间存在着1:1联系
   ①运动员(编号,姓名,性别,名次,上一名次编号)
(2)职工之间存在上下级联系,即1:N联系
   ①职工(工号,姓名,年龄,性别,经理工号)
(3)工厂的零件之间存在着组合关系(M:N联系)
   ①零件(零件号,零件名,规格)
   ②组成(零件号,子零件号,数量)

3.实例3:三元联系的ER图结构转换为关系模式

imgimg
   ①仓库(仓库号,仓库名,地址)
   ②商店(商店号,商店名)
   ③商品(商品号,商品名)
   ④进货(商店号,商品号,仓库号,日期,数量)

三元联系类型的转换

和二元联系类型的转化逻辑基本是一样的:

1)如果实体间联系是1:1:1,可以在三个实体类型转换成的三个关系模式中任意一个关系模式的属性中加入另两个关系模式的键(作为外键)和联系类型的属性。

2)若实体间联系是1:1:N,则在N端实体类型转换成的关系模式中加入两个1端实体类型的键(作为外键)和联系类型的属性。

3)若实体间联系是1:M:N,则将联系类型也转换成关系模式,其属性为M端和N端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合。

4)若实体间联系是M:N:P,则将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联系类型的属性,而键为三端实体键的组合。

如何将ER图转化为关系模型(含案例) - 知乎 (zhihu.com)

关系数据库规范化理论

  • 平凡函数依赖:X—>Y,但X包含Y (Y包含于X)。
    • 例:(学号,课号)—>课号  #课号存在于 (学号,课号) 之中。
  • 非平凡函数依赖: X—>Y,但X不包含Y。
    • 例:(学号,课号)—>成绩  #成绩不存在于 (学号,课号) 之中。

image-20220406111929922image-20220406111929922

image-20220406111813158image-20220406111813158

image-20220331113909578image-20220331113909578

image-20220414103429251image-20220414103429251

SQL

imgimg

SQL Server 组成数据库的各种对象的类型和作用 P69

image-20220412122027734image-20220412122027734

数据库安全性和完整性

image-20220424202903027image-20220424202903027

image-20220424202924868image-20220424202924868

简答题总结

  1. 什么是触发器触发器有什么作用?

  2. SqlServer用户权限的种类有哪些各自的作用?

  3. 数据库系统的特点分别是

  4. 数据完整性是指

  5. 实现数据完整性的途径有

  6. SqlServer数据库备份的类型有四种分别为,三种数据库的还原模型

  7. SqlServer权限分为三类

  8. DML 触发器、规则。约束有

  9. 9

  10. 0

错题总结

选择题

image-20220420105812830image-20220420105812830

image-20220420112014329image-20220420112014329

image-20220420112026264image-20220420112026264

image-20220420113205703image-20220420113205703

image-20220420113355776image-20220420113355776

image-20220420113730522image-20220420113730522

image-20220420114335761image-20220420114335761

image-20220420114512072image-20220420114512072

image-20220420114516170image-20220420114516170

image-20220420120924453image-20220420120924453

image-20220421113945592image-20220421113945592

image-20220421114014375image-20220421114014375

image-20220421114032574image-20220421114032574

image-20220427111810138image-20220427111810138

image-20220427115150301image-20220427115150301

image-20220428104231369image-20220428104231369

image-20220429112703858image-20220429112703858

image-20220429112803451image-20220429112803451

image-20220429112812433image-20220429112812433

image-20220430104919419image-20220430104919419

image-20220503110601100image-20220503110601100

image-20220503110627844image-20220503110627844

image-20220503113658983image-20220503113658983

image-20220503113751192image-20220503113751192

image-20220506100146120image-20220506100146120

image-20220504104701176image-20220504104701176

image-20220505094056398image-20220505094056398

image-20220505094119876image-20220505094119876

image-20220505094222775image-20220505094222775

image-20220508113721568image-20220508113721568

image-20220508113730207image-20220508113730207

image-20220508133931758image-20220508133931758

image-20220508134212187image-20220508134212187

image-20220512153323231image-20220512153323231

判断题

image-20220421114050679image-20220421114050679

image-20220421114054274image-20220421114054274

image-20220507115128549image-20220507115128549

填空题

image-20220420112207437image-20220420112207437

image-20220420112231646image-20220420112231646

image-20220420112315536image-20220420112315536

image-20220420112339413image-20220420112339413

image-20220420114404514image-20220420114404514

image-20220420114550933image-20220420114550933

image-20220420115120988image-20220420115120988

image-20220427101640200image-20220427101640200

image-20220427101652529image-20220427101652529

image-20220427103549966image-20220427103549966

image-20220427202705827image-20220427202705827

image-20220429112840964image-20220429112840964

image-20220430104931222image-20220430104931222

image-20220503110530182image-20220503110530182

image-20220503113913195image-20220503113913195

image-20220503113947056image-20220503113947056

image-20220507114850571image-20220507114850571

image-20220508134621459image-20220508134621459

image-20220508134631000image-20220508134631000

简答题

image-20220421115429679image-20220421115429679

image-20220420110502569image-20220420110502569

image-20220420112649604image-20220420112649604

image-20220420113101621image-20220420113101621

image-20220421114246172image-20220421114246172

image-20220420113612108image-20220420113612108

image-20220420115429202image-20220420115429202

image-20220420115442498image-20220420115442498

image-20220420115448527image-20220420115448527

image-20220420115615591image-20220420115615591

image-20220420115621815image-20220420115621815

image-20220420121141011image-20220420121141011

image-20220420115928884image-20220420115928884

image-20220420120245272image-20220420120245272

image-20220420120758672image-20220420120758672

image-20220421205341234image-20220421205341234

image-20220425203435847image-20220425203435847

image-20220427111243957image-20220427111243957

image-20220428100104988image-20220428100104988

image-20220429203050635image-20220429203050635

image-20220501101558615image-20220501101558615

image-20220503114004286image-20220503114004286

image-20220504105828557image-20220504105828557

image-20220505203614622image-20220505203614622

image-20220508140100405image-20220508140100405

查漏补缺

  • 范式理论
  • 数据库设计各个阶段
  • Armstrong公理
  • 数据库约束创建
  • SQL查询
  • 关系代数
  • 元组表达式
  • 并发和事务
  • 模式分解算法和函数依赖无损连接判断
  • 规范化练习
  • 针对SqlServer的简答题
  • 查询和” 01 “号的同学学习的课程完全相同的其他同学的信息
  • 查询没学过”张三”老师讲授的任一门课程的学生姓名

触发器执行时用到的两个特殊表:deleted ,inserted
  deleted 和inserted 可以说是一种特殊的临时表,是在进行激活触发器时由系统自动生成的,其结构与触发器作用的表结构是一样的,只是存放 的数据有差异。

说明deleted 与inserted 数据的差异
  deleted 与inserted 数据的差异
  nserted 存放进行insert和update 操作后的数据
  Deleted 存放进行delete 和update操作前的数据

数据库_Armstrong公理系统 - M1nercy - 博客园 (cnblogs.com)

【数据库理论】关系模式的规范化与查询优化_天堂的鸽子的博客-CSDN博客_关系模式的规范化

数据库中的范式和多值依赖_legendaryhaha的博客-CSDN博客_多值依赖

一、DDL
DDL(data definition language)数据定义语言,用户定义和管理sql数据库中所有对象的语言。
主要命令:create、alter、drop等

二、DML
DML(data manipulation language)数据操纵语言。
主要命令:select、update、insert、delete等

三、DCL
DCL(date control language)数据库控制功能。
主要命令:grant、deny、revoke、commit、savepoint、rollback等

ps:DCL一般只有sysadmin、dbcreator、db_owner、db_securityadmin等人员有权限操作

四、delete和drop区别
drop:删除结构(drop database XXX;drop table XXX)
delete:删除数据(delete 字段名 from 表名 where 条件)

1、数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。
2、数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。
3、数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。

sql:查询选修了全部课程的学生姓名

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Course
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno= Student.Sno
AND Cno= Course.Cno));
最里一层:选出选了的“学生+课”
中间一层:选出“没选的课”
最外一层:选出没有选“没选的课”的学生,也就是全部选修的学生