软件设计师(4)数据库

关系模型:用二维表格表达实体类型与实体间联系

3/2

三级模式:外模式(视图);概念模式(基本表);内模式(存储文件)

两级映像:外模式/概念模式映像(逻辑独立性);模式/内模式映像(物理独立性)

总结:视图------外模式------逻辑独立

关系模型

关系模型完整性约束:

(1)实体完整性:主码不为空

(2)参照完整性

(3)用户自定义完整性

关系的运算

并,差,交,笛卡尔积

选择

selsect...b=5,也就是选择b=5的那一行

投影

关系表中有ABC,对AC进行投影就是把AC提取出来

连接

斯塔连接:先进行笛卡尔积,再进行选取

等值连接:先进行笛卡尔积,再进行选取

自然连接:去重后的等值连接(((最常考,就是把相等的两列合并成一列

SQL语言

投影------>SQL:select ... from ...

选择------>where....

笛卡尔积------>from R,S

自然连接------>select时不写重复的

自然连接后对表格中的需要重新排序(R中有b,c,S中也有,需要排除S中的接着R后面排次序)

AVG(单价) AS 平均单价:对求出的AVG(单价)起一个别名,叫做平均单价

where后面不能跟聚合函数

权限:with grant option

视图:with check option

索引改变的是内模式

闭包

A->B,则A是候选关键字,不被任何别的决定

主码:一个

候选码:多个(AC,AB)

主属性:包含在候选关键字的属性(A,B,C)

冗余:若A1-A2,A2-A4,则能推出A1-A4,推导出来的这个就是冗余的

第一范式

每个属性不可以再进行分割,但可能存在部分函数依赖,不能排除数据冗余与更新异常(修改姓名需要修改所有含姓名的数据)

第二范式

每个非主属性完全依赖候选码,包含传递函数。消除部分依赖

但是数据冗余减少了,数据更新仍存在异常

第一范式分解成第二范式:把一个表分解成多个表,让非主属性完全依赖于主属性

第三范式

每个非主属性非传递函数依赖于候选码。消除了传递依赖

第二范式分解第三范式:继续把传递依赖分解成两个表

学号------>学院;学院------>院长

从学号,学院,院长分解成:

1.学号,学院

2.学院,院长

第三范式规范化:BC范式

消除主属性对码的传递依赖(所有属性都是主属性!!)

已经消除插入与删除异常,消除主属性对码的部分与传递依赖

部分函数依赖:看是否只依赖主属性的其中一部分

传递函数依赖

无损连接

对分解的子关系进行自然连接,找公共属性列

数据库设计

1.需求分析

2.概念结构设计

E-R模型:实体用矩形,联系用菱形,属性用椭圆

派生属性:年龄。可以通过出生年月得到

多值属性:联系方式。个人电话和办公室电话

复合属性:家庭住址。记录了邮编,省,市,街道信息

弱实体:职工的家属。依赖于职工

冲突:(1)属性冲突:同一属性存在不同的图中;

(2)命名冲突:同一属性在不同图中命名不同,或者命名相同的代表不同含义;

(3)结构冲突:同一实体在不同图中有不同属性

3.逻辑结构设计

共享锁:只能读,能加锁但只能加共享锁

排他锁:加了之后不能再加其他任何类型锁

相关推荐
后台模板学习10 分钟前
用 IM 即时聊天项目一次讲清消息去重算法的踩坑与解决方案
java·数据库·spring
imbackneverdie17 分钟前
国内有哪些比较全面的生物医学相关数据库?
大数据·数据库·人工智能·ai·信息可视化·aigc·科研
数字智核39 分钟前
2026昆山工厂空压机突然停机怎么办?找谁抢修
服务器·网络·数据库
AAA代码批发商1 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
笑梦无境1 小时前
mysql的安装及配置(3)
数据库·mysql·adb
电商API_180079052471 小时前
跨境1688代采商家,如何借助API打通供应链,实现效率跃迁
大数据·数据库·网络爬虫
小雪崩1 小时前
嵌入式学习 day40:数据库
数据库·学习
Aloudata1 小时前
语义层 vs MCP 工具层:Agent 调用数据时,语义应该放在哪一层
数据库·数据分析·chatbi·data agent·语义层
zcmodeltech1 小时前
源网荷储一体化沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的源网荷储、多能互补、冷热电三联供全场景联动方案,服务范围覆盖全国
数据库·人工智能·stm32·单片机·嵌入式硬件
数智启示录1 小时前
PostgreSQL 执行计划实战(第 9 篇):SQL 和索引没变,计划为什么突然慢一百倍
数据库·经验分享·sql·postgresql·面试