数据库系统教程——数据库概论(一)

简介: 数据库系统教程——数据库概论(一)

1.1 引言



一、概念


  • 1.数据:字符、文字(字符串)、数值(整型、浮点型等)、图像(RGB、RGBA)、声音等
  • 2.数据库:存储在介质上的相关的数据集合。


  1. 数据库发展阶段:


  • ①人工管理阶段(不保存在计算机上)
  • ②文件管理阶段(效率低,管理麻烦)
  • ③数据库低级管理阶段(正处于)
  • ④数据库高级管理阶段
    注: ③和④可以合并为数据库管理阶段


二、数据库类型


  • 1、网状型数据库(未普及)
  • 2、层次型数据库(未普及)
  • 3、关系型数据库(普及)


关系型数据库:

由二维表格表示:由行列组成

举例:学生表、教师表、课程表


学生表:


学号 姓名 性别 专业 入学时间
D001 张三 犯罪专业学 2019年
D002 李四 狱警专业 2016年


教师表:


工号 教师姓名 教师性别 教授课程 受欢迎程度
C001 罗老师 刑法学(张三研究学) 非常受欢迎


数据库的描述



一、数据库的概念:

1、实体:客观存在的事物

2、属性:实体的某一特征

3、标识符:唯一标识实体特征


二、逻辑设计中数据的描述

1、字段:关系列表中的一列

2、记录:关系列表中的一行

3、文件:同类记录的集合

4、关键码:唯一标识记录的字段


三、物理设计中数据的描述

1、位(bit,b)

2、字节(B)

3、字(word)

4、块(Block)

5、桶(Bucket)

6、卷(Volume)


四、数据联系的描述

1、1:1一对一联系

2、1:N一对N联系

3、M:N多对多联系


E-R图:

①、实体用方框

②、属性用椭圆表示

③、联系用菱形表示

④、无向线用横线表示(没有方向的线)


E-R表举例:


1:1


234c71e1ddd4447f93540c56be647422.png


以上为1:1模型

可以转换为表格就是


工厂表

许可证编号 地址 面积
12345667 xxxxxxx 1000


厂长表:

身份证号码 姓名 电话 许可证编号
10xxxxxx 张三 13xxxxxxxx 123xxxxx


工厂表中,许可证编号为标识符,里面的内容是唯一存在的

厂长表中,身份证号码是标识符,是唯一存在的

厂长表中许可证编号是,两者的关联对象,使用许可证编号将两者进行一一对应。

注:此处假设一个国产一个厂长,每个厂长只能够带领一个工厂!


1:N


387b1377044d4b629deaad002a881f52.png



此处仅表示一个仓库里面存储了多个产品

以上为1:N模型

可以转换为表格就是


仓库表

仓库编号 地址 面积
12345 xxxxxxx 1000


产品表:

产品编号 产品名称 数量 仓库编号
10xxxxxx 特斯拉A100显卡 0 123xxxxx


仓库表中仓库编号为标识符,里面的内容是唯一存在的

产品表中,产品编号是标识符,是唯一存在的

产品表中仓库编号是,两者的关联对象,使用仓库编号将两者进行一 一对应。


M:N


1c3911409f2b4917821fb05a5e8b55a2.png


这里多个零件和不同的供应商有对应,所以应该就是M:N模式


供应商表

供应商编号 地址 名称
12345 xxxxxxx 供应商1


零件表:

零件编号 零件名称 数量
10xxxxxx 膨胀螺钉 10套


供应表(MN对应关系表):

供应商编号 零件编号 供应时间 供应数量
12345 10xxxxxx 2021.09.15 10套


供应商表中供应商编号为标识符,里面的内容是唯一存在的

零件表中,零件编号是标识符,是唯一存在的

供应表中供应商和零件是两个关键值,两者的相互关联,使用供应表将供应商和零件进行一 一对应。


多组对应


4bd480d39a524a7c8e2212c073aa0ad2.png


存在多组对应关系


教师表

工号 教师姓名 联系电话
001 王老师 134xxxxxx


学生表:

学号 学生姓名 专业
19010010 张三 计算机科学与技术


课程表:

课程编号 课程名称 工号
01001 数据库系统教程 001


学习表(学生与课程对应表)

课程编号 学号 成绩
01001 19010010 100


教师表中工号为标识符,里面的内容是唯一存在的

学生表中学号为标识符,里面的内容是唯一存在的

课程表课程编号为标识符,里面的内容是唯一存在的,其中工号和教师表的数据进行对应(映射)

学习表通过课程编号和学号把课程表和学生表进行对应,同时得到成绩数据。


弱实体与强实体


弱实体要依赖与强实体,没有强实体,弱实体就不复存在。

强实体也可以称作“父实体”

表达方式


3053aaa65d3b431095b43d10fdbecaf6.png


子类实体与超类实体


低层的实体表达了与高层实体有特殊联系的情况下,就称较高层的实体类型为超体。

子类和超类之间具有继承关系,子层具有比超体更多的属性。

这种继承性是通过子类实体和超实体有相同的实体表示符实现的。


9768e7fd73a74506b26d456b2e629e69.png

练习


下表应该怎么样完成呢?


72ce895d05d548d288443c72be5201ef.png


商品表(商品号,商品名,规格,单价)

商店表(商店编号,地址,商品名)

销售表(商品号,商店编号,月销售)

职工表(职工编号,业绩,性别,姓名,聘期,月薪,商店编号)


a70ac1b691d24fabbac69bd275f4813b.png



公司表(公司编号,公司名,公司地址)

仓库表(仓库编号,仓库地址,仓库名,公司编号)

职工表(职工编号,性别,姓名)

聘用表(职工编号,仓库编号,工资,聘期)

目录
相关文章
|
22天前
|
SQL 存储 Oracle
sql数据库使用教程
SQL(Structured Query Language)结构化查询语言是一种用于操作数据库的标准语言,被广泛应用于关系型数据库管理系统(RDBMS),如MySQL、Oracle、Microsoft
|
22天前
|
SQL 数据库
sql数据库教程设计
SQL数据库教程设计可以分为以下几个步骤: 1. 确定教学目标:首先,需要明确教程的教学目标,例如让学生掌握SQL语言的基础知识,包括数据查询、数据操作、数据定义等,以及培养学生的实际操作能力,
|
4天前
|
Java 关系型数据库 MySQL
JSP 教程 之 JSP 连接数据库 1
**JSP连接MySQL数据库教程**:确保有JDBC驱动,如MySQL 5或8的connector。将jar包放入Tomcat的lib目录。对于MySQL 8,驱动类改为`com.mysql.cj.jdbc.Driver`,URL示例:`jdbc:mysql://localhost:3306/baidu?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8`。创建数据库`baidu`和表`websites`,包含站点信息,然后插入测试数据。
13 4
|
3天前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 4
JSP教程展示使用JSTL SQL标签执行DELETE操作。示例连接到MySQL数据库,删除ID为11的记录,然后显示更新后的websites表内容。包括设置数据库源、执行`DELETE FROM websites WHERE Id=?`语句,并用JSTL遍历结果展示表格。
7 2
|
3天前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 3
**JSP教程示例:连接MySQL执行INSERT和SELECT操作** 本示例展示如何使用JSTL的`<sql>`标签在JSP中执行SQL。首先设置数据源,然后执行INSERT语句向`websites`表添加一条记录,接着执行SELECT查询并显示所有结果。页面包含一个表格来展示查询到的网站信息,如ID、站点名和URL。注意替换实际的数据库URL、用户名和密码。
8 2
|
3天前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 2
该JSP教程展示了如何使用JSTL SQL标签连接到MySQL数据库执行SELECT操作。示例显示了设置数据源、查询`websites`表并遍历结果以在HTML表格中显示ID、站点名和站点地址的过程。数据库URL、用户名和密码需按实际配置。
7 2
|
7天前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
11 0
Zabbix监控神通数据库教程
|
13天前
|
SQL 安全 API
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
Python基础教程(第3版)中文版 第13章 数据库支持(笔记)
|
21天前
|
SQL 存储 关系型数据库
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
MySQL数据库案例实战教程:数据类型、语法与高级查询详解
35 3
|
2天前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 5
该JSP教程展示了如何使用JSTL的`<sql:update>`标签更新数据库记录。它连接到一个MySQL数据库,更改ID为3的网站名称为'baidu',然后使用`<sql:query>`显示所有网站信息,以验证更新是否成功。页面包含防止中文乱码的设置,并使用JDBC数据源。
6 0