数据库:保管数据的仓库,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库的特点:实现数据共享;减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。
数据库表
在关系型数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。
数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有:整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/试卷数据类型、字符串数据类型。表中的每一个字段就是某种指定的数据类型。
主键
主键(primary key)又称主码,用于唯一地标识表中的每一条记录,可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。
数据库系统
数据库系统是由数据库及其管理软件组成的系统,人们常把与数据库有关的硬件和软件系统统称为数据库系统。
数据库系统3个主要的组成部分。
数据库:用于存储数据的地方。
数据库管理系统:用于管理数据库的软件。
数据库应用程序:伪类提高数据库系统的处理能力所使用的管理数据库的软件补充。
数据库(DataBase System)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
数据库管理系统(DataBase Management System,DBMS) 是用户创建、管理和维护数据库时所使用的软件,位于用户和操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序(DataBase Application)虽然已经有了DBMS,但是很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。
SQL
对数据库进行查询和修改操作的语言叫做SQL。SQL的含义是结构化查询语言(StructuredQuery Languate)。SQL有许多不同的类型,有3个主要的标准: ANSI (美国国家标准机构) SQL;对ANSI SQL修改后在1992年被采纳的标准,称为SQL-92或SQL2。最近的SQL -99标准,SQL-99标准从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持新推出的SQL -92标准。
SQL语言包含以下4个部分。
● 数据定义语言( DDL): DROP、CREATE、 ALTER等语句。
● 数据操作语言(DML): INSERT (插入) UPDATE (修改)、DELETE (删除)语句。●数据查询语言(DQL): SELECT语句。
● 数据控制语言 (DCL): GRANT. REVOKE、COMMIT、ROLLBACK等语句。
数据库设计
数据库设计的基本步骤:
1.需求分析
需求收集和分析,得到用数据字典描述的数据需求,用数据流图描述的处理需求。进行数据库设计首先必须准确了解和分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,会导致整个数据库设计重新制作。
2.概念结构设计
对需求进行综合、归纳与抽象,形成一一个独立具体DBMS的概念模型(用E-R图表示)。在E-R图中,实体用矩形表示,属性用椭圆表示,关系用菱形表示。
1.标识实体( Entity )标识数据库要管理的关键对象或实体(名词)
相当于表格的名字
2、标识每个实体的属性( Attribute ) ( 名词)
相当于表格的列
3、标识实体之间的关系( Relationship) ( 动词)
表格之间的关系,主键与外键关系
a.如果是1: 1的关系:那么将实体转换成表,将任意1端实体的主键拿到另一端实体做外键。
例如:一个人只有一个身份证号。
b.如果是1:N的关系:那么将实体转换成表,关系不成表,将1端实体的主键拿到N端实体做外键。
例如:一个班级包含多个学生。
c.如果是M:N的关系:将实体转换成表,关系形成表,同时将两端实体的主键拿过来作为改表的外键,形成复合主键。
例如:学生和课程之间的关系,一个学生可以有多门课程,一门课程可以对应多名学生。
3.逻辑结构设计
E-R图向关系模型的转换,要解决的问题是如何将实体性和实体间的联系转换为关系模式,如何确定这些关系模式的实体之间的联系。将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。
4.物理结构设计
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
5.数据库实施
数据库实施阶段,设计人员运营DBMS提供的数据库语言(如sq|)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护
数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价,调整,修改。
数据库设计的规范 1、数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线‘_’组成;命名简洁明确(长度不能超过30个字符) 例如:stu_name,store_goods,wifi_user等 2、数据库表名命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线‘_’组成;多个单词用下划线‘_’分隔 例如:user_login,user_password,给数据库的表加前缀‘user_’ 可以有效的把相同关系的表显示在一起。 3、数据库表字段名命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线‘_’组成; 命名简洁明确,多个单词用下划线‘_’分隔;
表与表之间的相关联字段名称要求尽可能的相同。
数据库设计三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。 要想设计一个结构合理的关系型数据库,必须满足一定的范式。
第一范式:确保每列保持原子性
要求表的每个字段必须是不可分割的独立单元。
第二范式:确保表中的每列都和主键相关
在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖。
第三范式:确保每列都和主键列直接相关,而不是间接相关
在第二范式基础,要求每张表的主键之外的其他字段都只能和主键有直接决定依赖关系。
数据库中没有冗余的数据库设计 可以做到。但是,没有冗余的数据库未必是最好的数据库。 有时为了提高运行效率,就 必须降低范式标准,适当保留冗余数据。 具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。 降低范式就是增加字段,允许冗余。
来源:CSDN
作者:a_rain2333
链接:https://blog.csdn.net/a_rain2333/article/details/103028580