第1天:数据库设计基础

#1.数据库入门

数据库的定义:数据库也是一种软件

作用:

  1. 存储数据:以文件的形式将数据存储在磁盘上
  2. 运算数据:由SQL语句进行控制,实现的数据的增删改查操作

品种:

  1. 关系型数据库:MySQL、Oracle、SQL Server、DB2
  2. 非关系型数据库:Redis、MongoDB

关系型数据库:

    以数据库表为基础数据存储单元,并且数据库表与表之间存在关联关系

#2.数据库设计原理

1.数据库设计三范式:

第一范式:字段不可再拆分范式

但凡存储进入数据库中的字段,必须使用数据库提供的基本数据类型,不允许存在复合数据类型

数据库常见数据类型:int , varchar , date, time , datetime , bool , money , double,float等

第二范式:主键依赖范式

数据库表中应该有一个字段其取值能够唯一标识每一条记录

主键的特征是:非空且唯一

第三范式:主键直接依赖范式

一张数据库表中所有字段的取值都必须和主键之间存在逻辑关系

如果某一字段中的取值和主键没有唯一逻辑关系,则可以将这个字段拆分得到新 的数据表

2.数据库之间的四大关系:

一对一关系:

  外键放在任意一侧都是可以的

一对多关系(多对一关系):

  外键永远在多的一侧,由每一个“多”来记住自己的“一”是谁。

  外键所在的表是从表(多),被外键所指向的表是主表(一)

多对多关系:

  多对多关系的外键存放在一张单独的关系表当中

  在关系表中使用外键取值的排列组合,表示多对多的关系

3.数据库建表的5大约束

  1. 主键约束:primary key

作用:唯一标识数据库表中的每一条记录,主键约束和数据一般可以没有物理关系。

注意:一行数据库表只能够存在一个主键约束,但是这个主键可以包含多个字段,称之为联合主键(组合主键)

  1. 外键约束:foreign key

作用:使用本表中的一个字段能够保存其他数据表中的部分数据,能够在本表中按照外键取值找到其他数据库表中的记录

注意:为了能够明确的记录另一张数据库表的数据,一般外键的取值都是主表中的主键取值

  1. 非空约束:not null

作用:防止声明了非空约束的字段在进行赋值的时候取得空值(NULL)

注意:非空约束一般可以与default关键字联合使用,配置字段的默认取值

  1. 唯一约束:unique

作用:保证声明了唯一约束字段的取值要么是(NULL),要么是不重复的取值

注意:主键约束=非空约束+唯一约束

  1. 检查约束:check

作用:保证当前字段取值在一个指定范围内

注意:MySQL数据库是不支持检查约束的,在建表的过程中,会执行check关键字,但是在执行之后没有任何结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fwy洛伦兹力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值