当前位置: 首页 > article >正文

数据库(选择题)

基本概念

数据库(DB):长期存储在计算机内的、有组织的、可共享的数据集合。

数据库管理系统(DBMS):它是数据库的机构,是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

数据库管理系统是数据库系统的核心。

数据库系统(DBS)数据库、数据库管理系统、数据库管理员、硬件平台、软件平台。

数据库管理员(DBA):数据库管理员的主要任务:数据库设计、数据库维护、改善系统性能。

DBS包含DB、DBMSDBMS用来管理DB

数据库管理系统提供了以下数据语言:

数据定义语言(DDL):负责数据的模式定义和数据的物理存取构建。

数据操纵语言(DML):负责数据的操纵,包括查询、增、删、改等操作。

数据控制语言(DCL):负责数据完整性、完全性的定义与检查、并发控制、故障恢复等功能。

数据库技术的发展

数据管理技术的3个阶段:

人工管理阶段、文件管理阶段、数据库系统管理阶段

数据库技术的根本目的:解决共享问题。

数据库系统体系结构(三级模式两级映像)

47826fc74eab47d68a06ca1353ee1983.png

 内模式发生变化时,由模式/内模式映像维持模式不变;模式发生变化时,由外模式/模式映像维持外模式不变(内变外不变)

用户所能见到的模式是外模式

在数据库的三级模式中,外模式(用户模式或子模式)可以有任意多个

将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和物理独立性

数据模型

数据模型的基本概念

数据模型:对数据特征的抽象。数据模型就是对现实世界的模拟、描述和表示。

数据模型的三要素:数据结构、数据操作、数据约束。

数据模型的类型:

概念数据模型(概念模型):E-R模型(实体联系模型)

逻辑数据模型(数据模型):层次模型、网状模型、关系模型

                                     层次模型:用树形结构表示实体及其之间联系的模型。

                                     网状模型:用网状结构表示实体及其之间联系的模型。

物理数据模型(物理模型)

4a16af3bfc71462a844d25ff76f12d6e.png

E-R模型 

fcbdb76fbf8747fc95ad859d68c62bf4.png 70e8778151a94efabf8ea6880a467790.png

 实体间联系的类型

1对1(1:1):一个学号对应一个学生,一个学生对应一个学号(学号:学生)

1对多(1:m):一个老师可以上好多班级的课,这些班级的这个课只能由这一个老师上(老师:不同班级同一门课)

多对多(m:m):一台电脑可以由多个学生用,多个学生可以用同一个电脑(学生:电脑)

关系模型

关系模式采用二维表来表示关系,简称表,一个二维表就是一个关系。

属性:二维表中的一称为属性。

元组:二维表中的一称为元组。

1ff849b1ce164f549563f6f3c7b16e75.png

表一

键/码:二维表中能唯一表示元组的最小属性集。

例如上表学号、姓名、年龄、专业都可以成为码。

主键/主码:若一个二维表中有多个码。则选定其中一个作为主键供用户使用。

在学号、姓名、年龄、专业中选一个就是主码。

 

8c42a66dd67141dd81a30760d54f3341.png

表二

这个表中你发现学号、课程号、成绩,都不能单独作为码,所以,就可以将多个属性结合起来作为码。例如学号和课程号确定了就唯一确定了成绩。

外键/外码:表M中的某属性集是表N的候选键或主键,则称该属性集为M的外键。

b4429cd8a15a45dda0966f017d2bcc85.png

表三

表一的外码是专业,专业来自表三

表二的外码是学号和课程号,前者来自表一后者来自表二。

表三的外码没有外码。

 关系代数

e88e967e89294434b7bd6f9a533f46f6.png

0896fcc86d7e4028b7067c8697c6ca03.png

3063868bfd794680a97b0703b80c4a03.png

 

bc9e36f105194bb182e9b28e72b17335.png

84140410382f418c93a3c4f4ec083c9b.png

0192a84365e547a49dcbc6cfd1030c54.png

720f5521023c4f05b6f02a64917f694b.png

3e5b0a5ddca142f0a82803c779b7a3c3.png

关系数据论(范式) 

1ff849b1ce164f549563f6f3c7b16e75.png

表一

部分函数依赖:我们那表一举例学号可以唯一确定姓名,学号和年龄也可以确定姓名,但是,年龄这个属性又是可要可不要的,像这样姓名这个属性的确定可以只由学号和年龄中的学号确定的现象叫做部分函数依赖,即只需要依赖学号和年龄中的部分就能确定姓名这一属性。

单选 定义学生选修课程的关系模式如 下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、 课程号、课程名、成绩、学分)则对主属性部分依赖的是 ()

A.(S#,C#)-→G

B.S#-→Sn

C.(S#,C#)-→S#

D.(S#,C#)-→C#

关系SC中的主键是(S#,C#),但S# (学号)单独就可以诀定Sn (姓名),存在着对主属性的部分依赖。本题选B。

传递函数依赖:通过学号可以知道姓名,又通过姓名可以知道专业,那么通过学号也可以确定专业的这种情况叫做传递函数依赖。

学生和课程的关系模式定义为S (S#, Sn, Sd,Dc, Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn, P#)(其属性分别为课程号、课程名、先选课)﹔SC (S#,C#,G)(其属性分别学号、课程号和成绩)。关系中包含对主属性传递依赖的是________。

A. S#→Sd,Sd→Dc

B. S#→sd

C. S#→Sd,(S#,C#)→G

D. C#→P#,(S#,C#)→G

9536b4e23cf14d0b8133dab92c11e1d3.png

 


http://www.kler.cn/news/315732.html

相关文章:

  • 【最快最简单的排序 —— 桶排序算法】
  • 华为HarmonyOS地图服务 11 - 如何在地图上增加点注释?
  • Java 入门基础篇08 - Java的变量与数据类型的认识
  • 在 Python 中使用 JSON
  • 【Linux取经之路】Linux项目自动化构建工具-make/makefile git三板斧
  • 基于web的工作管理系统设计与实现
  • MacOS升级Ruby版本的完整指南
  • Apache subversion 编译流程
  • Delphi 12.2 新增的 WebStencils 尝鲜
  • Vue.js与Flask/Django后端配合
  • HarmonyOS鸿蒙开发实战(5.0)表情图片聊天案例实践
  • 后端-navicat查找语句(单表与多表)
  • atcoder abc372 启发式合并, dp
  • 感知算法引入时序模型的优势
  • Unity UGUI的核心渲染组件
  • FFmpeg中结构释放小函数
  • Python在数据科学与机器学习中的应用
  • C语言 | Leetcode C语言题解之第429题N叉树的层序遍历
  • Nginx简介;Nginx安装
  • Chainlit集成LlamaIndex实现知识库高级检索(自动合并检索)
  • VUE3学习---【一】【从零开始的VUE学习】
  • Java面试篇基础部分-Synchronized关键字详解
  • python爬虫中json和xml字符串的xPath和jsonpath过滤语法区别对比
  • 零工市场小程序:推动零工市场建设
  • 【Kubernetes】常见面试题汇总(三十)
  • 【二等奖论文】2024年华为杯研赛D题成品论文(后续会更新)
  • rust GTK4 窗口创建与 wayland Subsurface (vulkan 渲染窗口初始化 (Linux) 上篇)
  • Docker实践——天池篇
  • 极度精简 Winows11 系统镜像!Tiny11 2311下载 - 支持苹果 M 芯片 Mac 安装 (ARM 精简版)!
  • get_property --Cmakelist之中