1.关系型数据库的基本概念
概念:
把世界看做是一个由实体(Entity)和联系(Relationship)组成的。
所谓实体就是指在现实世界中客观存在并可相互区别的事物。实体所具有的某一特性称为属性(Attribute)。实体可以通过若干属性来描述。
以关系模型来创建的数据库称为关系型数据库(RelationalDatabase)。相类似的实体被存入表中。表(table)是关系型数据库的核心单元,它是数据存储的地方。
实质:以表做为实体,以主键和外键的关联关系作为联系的数据结构。
目的,减少数据冗余
主键,在关系型数据库表中,用一个唯一的标识符来标识每一行,这个标识符就是主键(Primary Key);
外键,外键(Foregn Key)就是
用来表达表和表之间的关联关系。
- 一对一:一条主表记录,对应一条从表记录,同时一条从表记录也对应一条主表记录。例如,公民表-身份证号表,就是一对一。
- 一对多:一条主表记录,对应多条从表记录, 一条从表记录对应一条主表记录。例如, 下面的班级表
- 多对多:一条主表记录,对应多条从表, 一条从表 对应多条主表。 例如:下面的老师表
公民表
编号 姓名 生日
1(主键) |
张三
|
1988-1-1
|
2(主键)
|
李四
|
1823-1-5
|
3(主键)
|
王五
|
1863-5-8
|
身份证表
编号 身份证编号
2(外键)
|
45646546
|
|
3(外键)
|
16546
|
|
1(外键)
|
32321213
|
|
- 一对多 一条主表记录对应多条从表记录,同时一条从表记录对应一条主表记录
班级表 学生表
编号
|
班级名称
|
班主任
|
|
|
|
|
编号
|
姓名
| 所属班级 |
1
|
T120
| 刘弯弯 |
|
|
|
|
1
| 小强 |
1
|
2
|
T130
|
周周
|
|
|
|
|
2
|
蒋伟
|
2
|
|
|
|
|
|
|
|
3
|
何浪
|
1
|
- 多对多,要使用中间表
老师表 中间表 学生表
编号
|
姓名
|
|
|
|
老师编号
|
学生编号
|
|
编号
| 姓名 |
1
|
李老师
|
|
|
|
1
|
2
|
|
1
|
张三
|
2
|
张老师
|
|
|
|
1
|
3
|
|
2
|
李四
|
|
|
|
|
|
2
|
1
|
|
3
|
王五
|
|
|
|
|
|
2
|
4
|
|
4
|
赵六
|
什么是数据库管理系统
- 关系型数据库只是一个保存数据的容器,大多数数据库依靠一个称为数据库管理系统(Database Management System, 建成DBMS)的软件来管理数据库中数据。
- 管理关系型数据库的软件称为关系型数据库管理系统(Ralationnal Database Management System, 建成RDBMS)。数据库应用程序通过RDBMS与关系型数据库进行交互。
分类
- 本地数据库管理系统
- 数据库服务器管理系统。
结构化查询语言SQL
SQL,发音“see-kwell”,是一种用于管理关系型数据库,并与数据库中的数据进行通讯的计算机语言。是最普遍实现和应用的数据库语言,并且已经成为数据库管理的标准语言。SQL与RDBMS协同工作。不能单独使用SQL创建一个应用程序,必须使用过程式语言来实现
SQL语句
分类
数据定义语言(
DDL)创建、修改、删除数据库的内部数据结构
数据查询语言(
DQL)用于数据库中数据的查询。
数据操作语言(
DML)用于数据库中数据的修改,包括添加、删除、修改等
数据控制语言(
DCL)用于控制数据库访问权限
数据库数据类型
int 整形
tinyint
浮点型
JAVA里面,两个浮点数不能用双等于比较
float
double
decimal(m,d) 大浮点数
字符串型
char 0-255
varchar 0-65535
日期类型
date 年月日不包括时分秒
创建表
create
删除表
drop
添加数据
inert into