第1章数据库基础基本概念和E-R图
ztj100 2025-01-02 20:34 14 浏览 0 评论
课程介绍
1、信息技术相关概念
(1)信号(Signal):物理量(声、光、电)的变化,物理层的概念
(2)数据(Data):是按某种编码方式(文字,符号等)记录的信息。
(3)信息(Information):数据所具有的含义,人所理解的对事物的描述。
2、信息技术的地位和作用
世界由物质、能量、信息构成,信息在世界运动中起到支配作用。
数据库技术是信息技术的核心技术。
第一章 数据库基础
1.1 数据库系统概述
1.1.1 数据库技术的发展
1.人工管理阶段:
计算机没有磁盘,数据量小,数据不能保存,没有软件系统对数据进行管理,程序员不仅要规定数据的逻辑结构,而且在程序中要使用物理结构。也就是说数据对程序不具有独立性,一旦数据在存储器上改变物理地址,就需要改变相应的用户程序。
2.文件系统阶段:
文件系统是操作系统中的一个子系统,它按照一定的规则将数据组织成为一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。文件系统对数据的管理,实际上是通过应用程序和数据之间的一种接口实现的。用一般的文件保存数据,数据可以长期保留。用程序操作文件,导致数据冗余度大,数据不标准,数据联系弱难以共享。
3.数据库系统阶段:
数据库系统是由计算机软件、硬件资源管理组成的系统,它实现了大量关联数据有组织地、动态地存储。它与文件系统的重要区别是数据的充分共享、交叉访问、与应用程序高度独立。数据标准化,集中管理,实现了数据共享。
1.1.2数据库系统的组成
1.数据库(Data):按某种编码记录的信息
2.数据库(Database,DB):按数据结构来组织、存储和管理数据的仓库。
3.数据库管理系统(DBMS):一套软件,创建、管理数据库的一系列软件。
4.数据库应用程序:用于操作数据库,供一般用户使用。
5.数据库系统(DBS):包括数据库、数据库管理系统、数据库应用程序等
注意 数据库管理系统(DBMS)和数据库系统(DBS)是有区别的。DBMS是位于用户和操作系统之间的一层数据管理软件,是**系统软件**。而DBS是指计算机系统中引入数据库后的系统,一般又数据库、数据库管理系统、数据库管理员(DBA)和应用系统构成。
1.2 数据模型
1.2.1 数据模型的概念
数据模型就是一种数据结构,数据模型的三要素:数据结构、数据操作、数据完整性约束。
1.2.2 常见的数据模型
1.层次模型:采用树状结构表示实体类型及实体间的关系。记录支架的联系通过指针实现,比较简单,查询效率高。但只能表示1:n的联系,尽管有许多辅助手段实现m:n的联系,但较为复杂且不易掌握。对插入和删除操作的限制比较多,导致应用程序编制比较复杂。
根节点:大学,没有父节点。其他节点都有且只有一个父节点。表示了实体的层次关系(主从关系)。
2.网状模型:表示实体类型及实体间联系的数据模型称为网状模型。节点之间有任意的连接,可以直接地描述现实世界,存储效率高。关系很复杂,很难实现。
3.关系模型:以二维表来描述实体,是目前较常用的数据模型之一。采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集,以及实体集之间的联系。
现在流行的数据库系统MySQL、SQLServer、Oracle、DB2,都是采用关系模型。
1.2.3 关系模型的相关概念
1.基本概念:
(1)实体(Entity):可以相互区分、可描述的事物。
(2)属性(Attribute):实体所具有的某种特性,用于描述实体。
(3)元组(Tuple):实体所有属性的集合,构成元组。
(4)联系(Relation):也称为关系,反映实体内部或实体之间的关联关系,表示为一个二维表。
(5)实体型(Entity Model):用属性表示的实体类型,实体名(属性1,属性2,…,属性n)。
(6)关系模式(Relation Schema):是对关系的信息结构和语义的描述,表示为:关系名(属性1,属性2,…,属性n)。
(7)候选键(Candidate Key):在一个关系中如果某个属性或属性组合能够唯一标识一个元组,则称该属性或属性集合为候选键。也称为键,或称为码。
学生(学号,姓名,性别,出生日期),候选键:学号,姓名(如果不允许重名)。
(8)主键(Primary Key):从候选键中,选出一个作为主键,用于标识元组。
主键不允许重复,不能取空值。
(9)外键(Foreign Key):一个关系的某个属性不是该关系的主键,或只是主键的组成部分,但却是另一个关系的主键,这样的属性称为外键。
学生表(学号,学生姓名,学生性别,班级号) 外键是:班级号
班级表(班级号,班级名称,班主任)
通过外键:在表间建立了主从关系,学生表的班级号引用(参照)班级表的班级号。学生表的班级号只能取班级表班级号中已经存在的值。
录入数据时:先录入班级表的数据,再录入学生表中的数据。
2.数据完整性约束
为了保证数据库中数据的正确性、一致性、相容性,建立约束规则:
(1)实体完整性:主键不能有重复值,也不能为空值。
(2)参照完整性:外键只能取被参照表的主键的已存在的值。
(3)用户定义完整性:根据具体应用的要求,属性值只能取符合某些条件的值。(性别:只能取“男”,或“女”。年龄不能取负值)。
3、数据建模
现实世界中的事物用关系模型来表示。
概念模型:E-R图,实体-联系图。
逻辑模型:关系模式,关系名(属性1,属性2,…,属性n),主键,数据类型等。
物理模型:使用DBMS来进行建模。
4、实体之间的联系类型
两个不同实体集之间存在一对一、一对多和多对多的联系关系。
(1)一对一(1:1)关系:指实体集E1中的一个实体最多只与实体集E2中的一个实体联系。
(2)一对多(1:n)关系:表示实体集E1中的一个实体可与实体集E2中的多个实体相联系。
主从关系,主表是E1 ,从表是E2.
(3)多对多(m:n)关系:表示实体集E1中的多个实体可与实体集E2中的多个实体相联系。
5、实体-联系(E-R)图
(1)概念模型的直观表示方法,表示各个实体之间的关系。
(2)E-R图的三要素:实体、属性、联系。
矩形框:实体
椭圆框:属性
菱形框:联系
用线把它们连起来。
1.3 小结
1、数据库的基本概念
2、数据模型,常用关系模型
3、关系模型的基本概念
4、E-R图的画法。
本人于CSDN同步更新,ID:qq_45654736
相关推荐
- Java项目宝塔搭建实战MES-Springboot开源MES智能制造系统源码
-
大家好啊,我是测评君,欢迎来到web测评。...
- 一个令人头秃的问题,Logback 日志级别设置竟然无效?
-
原文链接:https://mp.weixin.qq.com/s/EFvbFwetmXXA9ZGBGswUsQ原作者:小黑十一点半...
- 实战!SpringBoot + RabbitMQ死信队列实现超时关单
-
需求背景之为什么要有超时关单原因一:...
- 火了!阿里P8架构师编写堪称神级SpringBoot手册,GitHub星标99+
-
Springboot现在已成为企业面试中必备的知识点,以及企业应用的重要模块。今天小编给大家分享一份来着阿里P8架构师编写的...
- Java本地搭建宝塔部署实战springboot仓库管理系统源码
-
大家好啊,我是测评君,欢迎来到web测评。...
- 工具尝鲜(1)-Fleet构建运行一个Springboot入门Web项目
-
Fleet是JetBrains公司推出的轻量级编辑器,对标VSCode。该款产品还在公测当中,具体下载链接如下JetBrainsFleet:由JetBrains打造的下一代IDE。想要尝试的...
- SPRINGBOOT WEB 实现文件夹上传(保留目录结构)
-
网上搜到的SpringBoot的代码不多,完整的不多,能用的也不多,基本上大部分的文章只是提供了少量的代码,讲一下思路,或者实现方案。之前一般的做法都是使用HTML5来做的,大部都是传文件的,传文件夹...
- Java项目本地部署宝塔搭建实战报修小程序springboot版系统源码
-
大家好啊,我是测评君,欢迎来到web测评。...
- 新年IT界大笑料“工行取得基于SpringBoot的web系统后端实现专利
-
先看看专利描述...
- 看完SpringBoot源码后,整个人都精神了
-
前言当读完SpringBoot源码后,被Spring的设计者们折服,Spring系列中没有几行代码是我们看不懂的,而是难在理解设计思路,阅读Spring、SpringMVC、SpringBoot需要花...
- 阿里大牛再爆神著:SpringBoot+Cloud微服务手册
-
今天给大家分享的这份“Springboot+Springcloud微服务开发实战手册”共有以下三大特点...
- WebClient是什么?SpringBoot中如何使用WebClient?
-
WebClient是什么?WebClient是SpringFramework5引入的一个非阻塞、响应式的Web客户端库。它提供了一种简单而强大的方式来进行HTTP请求,并处理来自服务器的响应。与传...
- SpringBoot系列——基于mui的H5套壳APP开发web框架
-
前言 大致原理:创建一个main主页面,只有主页面有头部、尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块、页面,那...
- 在Spring Boot中使用 jose4j 实现 JSON Web Token (JWT)
-
JSONWebToken或JWT作为服务之间安全通信的一种方式而闻名。...
- Spring Boot使用AOP方式实现统一的Web请求日志记录?
-
AOP简介AOP(AspectOrientedProgramming),面相切面编程,是通过代码预编译与运行时动态代理的方式来实现程序的统一功能维护的方案。AOP作为Spring框架的核心内容,通...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Java项目宝塔搭建实战MES-Springboot开源MES智能制造系统源码
- 一个令人头秃的问题,Logback 日志级别设置竟然无效?
- 实战!SpringBoot + RabbitMQ死信队列实现超时关单
- 火了!阿里P8架构师编写堪称神级SpringBoot手册,GitHub星标99+
- Java本地搭建宝塔部署实战springboot仓库管理系统源码
- 工具尝鲜(1)-Fleet构建运行一个Springboot入门Web项目
- SPRINGBOOT WEB 实现文件夹上传(保留目录结构)
- Java项目本地部署宝塔搭建实战报修小程序springboot版系统源码
- 新年IT界大笑料“工行取得基于SpringBoot的web系统后端实现专利
- 看完SpringBoot源码后,整个人都精神了
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- node卸载 (33)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- exceptionininitializererror (33)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)