数据库

乐学团队字样一队交一份
个人字样每人交一份
总附加最多十分

实验一数据库设计
第五章结束之后一周
4月12号ddl(几率小)
每个团队交一份设计文档
包括
实验八需要解决数据库的连接问题

需求分析
概念设计
逻辑设计
物理设计
几十页的word
多于十四个表
文档要求来自王珊第六版的第七章

3月29号实验二搭建实验环境(两周交一次作业)
数据库设计一个月

上课

层次模型又称树状模型
网状模型
关系模型
关系名(属性1,属性2.。。)
属性下标出下划线
一个关系有多个列,每个列是属性,描述实体的不同特征
关系是元组的集合,一行是一个元组,对应一个个体
域是属性的取值范围
键是一个或多个属性组成的,可以唯一标识一个元组
--一个关系中可能有多组属性都能起到标识元素的作用,因此一个关系中可能有多个键(候选键),选择一个为主键,其余为候补键
只要在某个候选键中,该属性称为主属性。否则则称为非主属性/非键属性
如果ID是主键,(ID,name)呢?——不行,要求其子集不能
参考ppt英文部分

第三章

域的笛卡尔积的子集叫作域上的关系
R(D1,D2,...Dn) D是域 n是目数
关系是一张二维表,行对应元组,列对应域

基表是实际存在的表,是实际存储数据(物理上的存储)的逻辑表示
查询表:查询结果对应的表
视图表:由基本表或者其他视图导出的表,是虚表,不对应实际存储的数据
列的顺序无所谓,行的顺序无所谓,但任意两个元组不能相同
每个分量不可再分(大表不能套小表——单元格不能再拆分,每列单元格应该一样大)

关系模式可以表示为R(U,D,dom,F)
R关系名,U属性名集合,D是U中属性所来自的域,dom是属性向域的映像集合,F是属性间数据依赖集合
三类完整性约束

  1. 实体完整性
    保证实体可识别
    若属性A是基本关系R的主属性,则A不能取空值
  2. 参照完整性
    。。。。
  3. 用户定义完整性
    。。。。

数据库设计
(1)系统需求分析阶段:收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。
(2)概念结构设计阶段:把用户的信息要求统一到一个整体逻辑结构中。
(3)逻辑结构设计阶段:将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)物理设计阶段:为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。
(5)数据库实施阶段:根据物理设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。
(6)数据库运行与维护阶段:收集和记录实际系统运行的数据,用来评价数据库系统的性能,进一步调整和修改数据库。
注意实施阶段!sql把表结构定义到磁盘上是实施阶段

SQL

sql是独立的语言,但也可以嵌入于程序中。
只用到了九个动词.

数据定义:创建、删除、修改表

CREATE SCHEMA/TABLE/...
CREATE SCHEMA<模式名>
CREATE TABLE TABLE1( COL1 INT [列级完整性约束条件]
COL2 INT
[<表级..>]);
PRIMARY KEY:主键约束
FOREIGN KEY table1(name1) REFERENCE table2(name2):表级外键约束,被参照表是name2

DROP 删除

DROP INDEX name 删除索引
DROP SCHEMA<CASCADE/RESTRICT>
C:
R:无下属对象才执行

修改 ALTER TABLE

[ADD name type [constraint]]
[DROP name [CASCADE|RESTRICT]]
[ALTER name type ]

能建立索引的人:
属主
DBA
DBMS:自动建立主键和UNIQUE
维护:
DBMS
使用:
DBMS自动选择
在最经常查询的列上面建立聚簇索引,一个表最多一个,不适合用于经常更新的列

8.4.2

仅当主体许可证级别大于等于客体密级时主体才能读取客体,等于密级才能写相应客体

posted @   wxk123  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示