数据库(二)

简介: 数据库(二)

5.数据库系统结构:数据库系统模式的概念、数据库系统的三级模式结构、数据库的二级映象功能和数据的独立性、数据库系统的组成、数据库技术的研究领域。

数据库系统模式的概念:在数据模型中有“型”和“值”的概念,型是对某一类数据的结构和属性的说明,值是型的具体赋值。模式是相对稳定的,实例是相对变动的。


数据库系统结构:

 三级模式结构:

   模式:逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图;

   外模式:子模式、用户模式,数据库用户能够看见的局部数据的逻辑结构和特征的描述,数据库用户的数据视图与某一应用有关的数据的逻辑表示;

   内模式:存储模式。一个数据库只有一个内模式。数据屋里结构和存储方式的描述,是数据在数据库内部的组织方式。


数据库的二级映像功能和数据独立性:保证了数据的逻辑独立性和物理独立性

 外模式/模式映像:当模式改变时,由数据库管理员对各个外模式/模式的映像作响应改变,可以使外模式保持不变。应用程序是一局数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

 模式/内模式映像:当数据结构改变时,由数据库管理员对模式/内模式映像作响应改变,可以使模式保持不变。从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。

 数据与程序之间的独立性是的数据的定义和描述可以从应用程序中分离出去。由于数据的存取由数据库系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。


数据库系统的组成:

 硬件平台及数据库:

   要有足够大的内存,存放操作系统、数据库管理系统、数据缓冲区和应用程序;

   有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带或光盘做数据备份;

   要求系统有较高的通道能力,以提高数据传送率。

 软件:

   数据库管理系统;

   支持数据库管理系统运行的操作系统;

   具有与数据库接口的高级语言及其编译系统,便于开发应用程序;

   以数据库管理系统为核心的应用开发工具;

   为特定应用环境开发的数据库应用系统。

 人员:

   数据库管理员DBA:

   决定数据库中的信息内容和结构;

   决定数据库的存储结构和存取结策略;

   定义数据的安全性要求和完整性约束条件;

   监控数据库的使用和运行;

   数据库的改进和重组、重构。

   系统分析员和数据库设计人员;

 应用程序员;

 用户:

   偶然用户;

   简单用户;

   复杂用户。

 

6.掌握并区分关系模型的基本概念,包括域、笛卡尔积、关系(侯选码、主码、主属性、非主属性)等;

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。非关系模型的数据操作方式则为一次一记录的方式。

域:一组相同数据类型值的集合,一个域允许的不同的取值个数称为这个域的基数;

笛卡尔积:笛卡尔积是一组域上的一种集合运算;

 给定一组域D1,D2……Dn,允许其中某些域是相同的,D1,D2,……,Dn的笛卡尔积为D1D2……*Dn={{d1,d2,……,dn}|di∈Di,i=1,2,……,n}。

关系:

 候选码:某一属性组的值能唯一地被表示一个元组,而其子集不能,则称该属性组为候选码;

 主码:若一个关系有很多个候选码,则选定其中一个为主码;

 主属性:候选码的诸属性;

 非主属性(非码属性):不包含任何候选码中的属性;

 全码:关系模式的所有属性是这个关系模式的候选码;

 三种类型:基本关系(基本表、基表)、查询表、视图表;

 基本关系性质:

   同列是同质的;

   不同的列可以出自同一个域;

   列的顺序无所谓;

   任意两个元组的候选码不能取相同的值;

   行的顺序无所谓;

   分量必须取原子值,每一个分量都必须是不可分的数据项。

 

 

7.理解并掌握关系模型的完整性约束机制:实体完整性,参照完整性和用户自定义的完整性。

关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性。

实体完整性:关系数据库中每个元组应该是可区分的,是唯一的。

 规则:

   若一个或一组属性A是基本关系R的主属性,则A不能取空值;

   实体完整性规则是针对基本关系而言的;

   现实世界中的实体是可区分的,它们具有某种唯一性标识;

   关系模型中以主码作为唯一性标识;

   主码中的属性不能为空值,若为空值则说明存在某个不可标识的实体。


参照完整性:

 设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

 若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。


用户定义的完整性:

 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。


目录
相关文章
|
安全 Android开发 Kotlin
Android经典实战之SurfaceView原理和实践
本文介绍了 `SurfaceView` 这一强大的 UI 组件,尤其适合高性能绘制任务,如视频播放和游戏。文章详细讲解了 `SurfaceView` 的原理、与 `Surface` 类的关系及其实现示例,并强调了使用时需注意的线程安全、生命周期管理和性能优化等问题。
515 8
|
Java 数据库连接 Spring
如何在IDEA中自定义模板、快速生成完整的代码?
这篇文章介绍了如何在IntelliJ IDEA中使用easycode插件自定义代码生成模板,以快速生成Spring Boot、MyBatis等项目中常见的Controller、Service、Dao、Mapper等组件的代码。
如何在IDEA中自定义模板、快速生成完整的代码?
|
设计模式 Java
【SpringBoot】如何使用策略模式+抽象工厂+反射
【SpringBoot】如何使用策略模式+抽象工厂+反射
384 2
|
存储 缓存 自然语言处理
【网安AIGC专题11.1】12 CODEIE用于NER和RE:顶刊OpenAI API调用、CodeX比chatgpt更好:提示工程设计+控制变量对比实验(格式一致性、模型忠实度、细粒度性能)(上)
【网安AIGC专题11.1】12 CODEIE用于NER和RE:顶刊OpenAI API调用、CodeX比chatgpt更好:提示工程设计+控制变量对比实验(格式一致性、模型忠实度、细粒度性能)
332 0
|
缓存 Java 调度
Java中的线程池实现与使用
【4月更文挑战第3天】本文主要介绍了Java中线程池的基本概念、实现方式以及如何使用线程池来提高程序的性能。通过阅读本文,您将了解到线程池的优势、常见的线程池类型以及如何在实际项目中应用线程池。
85 1
|
移动开发 iOS开发
h5的header在iOS app内不显示,在浏览器显示正常解决办法
h5的header在iOS app内不显示,在浏览器显示正常解决办法
172 0
|
监控 安全 Ubuntu
系统日志
系统日志
522 1
|
5天前
|
弹性计算 人工智能 安全
云上十五年——「弹性计算十五周年」系列客户故事(第二期)
阿里云弹性计算十五年深耕,以第九代ECS g9i实例引领算力革新。携手海尔三翼鸟、小鹏汽车、微帧科技等企业,实现性能跃升与成本优化,赋能AI、物联网、智能驾驶等前沿场景,共绘云端增长新图景。
|
11天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
3天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI