数据库笔记-第一章
简介
为什么需要数据库?
- 像我们不就是把数据存在文件里面吗?文本文件也能实现增删改查,但当文件过大、系统出故障或需要更高效率的时候,这种方式就完全罢工了,但数据库系统却依然能很好地工作。
从这个角度看,感觉数据库很像一种神奇的魔法而这种魔法,值得我们持续、认真、深入地学习和研究。
数据库,顾名思义即存放数据的仓库,数据是各种各样的:
其实我们的大脑本身就是个大数据库,里面存储大量的原有信息,每天还在持续的接收外界的新信息。如果不把要做的重要的事情单独列出来的话,我们很难从纷繁杂乱的信息中随时调取要做的事情。
列 to-do-list的好处一方面是提醒大脑快速查找信息,另一方面在清单上也可以利用二分法划分出轻重缓急,按照要事第一的原则做事,这样会最大限度的提高做事的整体效率。
任务清单相当于图书的目录,数据库的索引,建立好索引,才能直击目标。
数据库的作用:
- 存储数据,数据库其实是一个文件系统
- 检索数据,支持增删改查
- 生成新数据,通过组合分析产生复合性信息
常见数据库:
开发者 | 数据库 | 备注 |
---|---|---|
甲骨文公司 | Oracle | jsp站建的很多,使用免费,服务收费,虽然性能极好,但总会莫名其妙有问题 |
微软公司 | SQL Server | asp建的站很多 |
IBM 公司 | DB2 | |
开源 | PostgreSQL | |
开源 | MySQL | 主流数据库之一 |
数据表
数据库相当于一个柜子,里面放的都是各种文件。
这种文件的名字叫【表】,【表】是二维的,所以是由行和列组成的。
您可以理解为 excel表,但每张表只能用来完成一种工作、表达一种数据。比如下图:
虽然顾客、订单可以共享同样的【字段/列】(姓名、金额、日期),但决不应该,将顾客、订单的清单放在同一张表中,否则以后检索会很困难。
每张表应该只表达一种数据,不同的数据应该创建不同的表。
行和列
数据库便是由各种各样的数据表组成,而一个数据表是由行和列组成。
这些行称为【行/记录】,行的意思,就是表中的一行数据。表中的数据也是按行输入、存储的,但不能只存储半行、或者几个字段。
列呢,也叫字段。
数据表是由行和列组成的二维表。
主键
主键,可以避免信息冗余。
假设我们要为一家超市建立数据库,需要为货物建立表,存储相关的信息。
其实在我们建立的货物表里,生产厂家、厂家地址、厂家电话都有重复。
因为我们存储数据是按行输入的,又不能存储半行,所以每次录入新的货物的时候,生产厂家、厂家地址、厂家电话都得重新录入;维护数据更困难,如果大扇门化工厂搬迁了,那必须将表中所有数据大扇门化工厂的厂家地址都更新一遍。
那怎么办呢?
额外创建一个表,存储每个厂家的信息,再为每个厂家指定一个编号,这个编号就可以代表厂家,这个唯一标识厂家的编号叫【主键】。
在表1的基础上建立【主键】:
表1 就变成了这样:
此时的货物表(新表1)只保留了厂家的字段(厂家编号):
- 此时如果大扇门化工厂搬迁了,只需要改一次主键表里的地址即可,从而避免数据冗余。
- 查询时,只需要根据厂家编号,到厂家表中就可以看到厂家的所有信息。
外键
在货物表、厂家表中,有一个键让他们相互联系,这个键就称为【外键】。
表关联
这种将俩张表通过字段关联起来的方式,就称为【表关联】。
表关联,是关系数据库的核心概念,使得数据之间不在孤立。
比如,我们设计一个图书管理系统,系统的需求大致是这样:
比如,我们设计一个超市管理系统,系统的需求大致是这样:
这里不得不感慨一下。
也许,面向对象的本质就是面向数据库开发,可以毫不夸张的说每次开发新项目,数据库的设计几乎要占整个开发周期的 50%,大家都很清楚,只要数据库设计合理设计好了,程序代码只是分分钟的事情!!
这里面的关键就是设计好每个表、以及每个表之间的关联。
数据库
数据库管理系统(DBMS)
数据库管理系统(DBMS),是位于[用户]和[操作系统]之间的一层数据管理软件。
其实我们(用户)都不是直接访问数据库,而是由 DBMS 帮我们访问。
常用存储模型
省略,第二章内容。
层级模型
网状模型
关系模型
ER图到关系模式的转换
省略,第二章内容。
数据库管理员(DBA)
数据库管理员(DBA),是建立、管理、维护数据库的人。
数据库系统(DBS)
应用app(用户)、数据库管理系统(管理员)、数据库,就构成了数据库系统。
实体-联系模型
省略。
- 教科书 P9-10 以学生举例,介绍基本概念(实体、属性、实体集、键、实体型、联系)
- 教科书 P10-12 介绍实体之间的关系(一对一、一对多、多对多、多元关系)
E-R模型
将实体、属性、联系的表示方法整合起来,用来描述现实世界,这种方法叫【E-R模型】。
E-R模型案例:
这个看起来还是挺复杂的,我们来试一试这个画法。
- 题目:用 E-R模型 表示工厂物资管理的概念模型
步骤如下:
- 第一步,确定实体及他们的属性;
- 第二步,确定实体之间的联系;
- 第三步,画E-R模型;
按照以上步骤,工厂物资管理的概念模型如下:
哈哈,其实 E-R模型 画起来也不难的。