设计数据库
做一个数据库之前,一定要先规划好要做什么,如何做,以及需要存储哪些数据,这些数据之间的关系是什么,需要满足哪些用户要求,都到先考虑好.这就是数据库设计的前提。SQL语句不区分大小写
,
数据库的名字后缀加上 _db
表格名称的前面加上 _tb
数据库设计
数据库的设计就是将数据规范化,过程化
- 需求设计
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 数据库的实施
- 数据库的维护
需求设计
需求设计(需求分析)
主要是根据用户的要求,分析其功能的可行性与实现方法。采用从上到下从简单到复杂从整体到部分的方式进行分析,把整个系统分为几个模块,又把这几个模块又分为多个功能。
概念结构设计
从需求分析中找到实体和联系
1,实体
所谓实体就是表示需求设计分析出来的实际存在的事物,每一类实体都有它们自己的属性来描述。
如:学生、教师、课程等都可以称为教务管理系统中的实体。
2,联系类型
1:1,一对一的关系
A表中的一行最多只能对应B中的一行,反之亦然。
1:n,一对多的关系
A表中的一行能对应B表中的多行,但B表中的一行只能对应A表中的一行。
n:m,多对多的关系
A表中的一行匹配B表中的多行,反之亦然。
表的建立
数据有多种多样,如何进行需求的分析和使用
列:教务管理系统
有这些数据 学号,姓名,性别,年龄,老师,老师号,职称,手机号,成绩…
我们可以将这些数据分成多个表格使用
1.学生表: 2. 课程表: 3. 成绩表: 4. 班级表:
逻辑结构设计
将模型转换成特定支持的数据模型
对于关系型数据库来说,就是把实体联系转换成二维数据表格
第一范式
1NF 原子过滤性,过滤重复属性
关系模式中的每一个分量都应该是不可再分的数据项,也就是说实体的每一个属性不能存在子属性
第二范式
2NF 非主属性依赖于主属性
第三范式
2NF 基础上,所有非主属性不能依赖其他非主属性
范式就是设计数据库的规则和标准,我们设计的时候遵照这个规则和规范
将我们设计数据库的方法标准化,遵循范式的好处可以很好的处理比较复杂和大型的数据,方便多人维护和管理,所有人遵循同一个范式,方便多人沟通和维护.
物理结构设计
将逻辑结构实施到具体环境中,其依赖于给定的DBMS和硬件系统。
数据库的实施
根据逻辑设计和物理设计的结果,建立数据库系统,加载数据,测试,试运行。
数据库的运行和维护
在数据库正式投入使用之后,需要改善数据库性能,维护数据库的安全和完整性。
关系数据结构的特点
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表(table)单
5.若干的表单组成数据库(database)
数据库的常用术语
数据库: 数据库存储数据表的集合。(database)
数据表: 存储数据内容,类似于电子表(table)
列: 数据元素 包含了相同类型的数据。(column)
行:或记录一组相关的数据。(row)
主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。(primary key)
外键:外键用于关联两个表。(foreign key)
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引:使用索引可快速访问数据库表中的特定信息。类似于书籍的目录。
查询: 使用特定的条件来查找特定的数据
常用命令
MySQL命令可以在MySQL命令界面上,或者用MySQL执行代码的工具上运行
1,显示数据库
show databases;
2,切换数据库
use 要切换的数据库;
#切换到mysql 这个数据库
use mysql;
3,显示数据库中的所有表格
show tables
4,显示数据表结构
show columns from 表格;
desc 表格;
5,创建数据库
create database 数据库名;
6,创建表
create table if not exists 表格名称(
属性名1 属性类型 [约束...],
......
属性名n 属性类型 [约束...],
);
7,插入数据
##加上values 可以连续插入数据
insert into 表名 value(属性值1,属性值2,…,属性值n);
8,删除表
drop table 数据表名;
9,退出
##有三种格式,注意分号
quit;
exit;
\q;
10,修改MySQL密码
#修改密码
update mysql.user set authentication_string=PASSWORD('123456');
#刷新权限
flush privileges;