当前课程知识点:数据库技术应用 >  学习情境二、创建和管理银行存取款机数据表 >  模块1、表的创建 >  2.1表的创建

返回《数据库技术应用》慕课在线视频课程列表

2.1表的创建在线视频

下一节:任务实施:银行存取款机表的创建

返回《数据库技术应用》慕课在线视频列表

2.1表的创建课程教案、知识点、字幕

大家好

欢迎来到数据库技术应用在线开放课程

前面我们已经将银行自动存取款机

数据库系统设计好了

下面要做的事情

就是数据库表的创建

所以今天我们要完成的任务是BankDB表的创建

前面我们优化后的关系模式

对于银行自动存取款机数据库来说

有三个包括用户银行卡交易信息

那么这三个对应的我们就可以去创建三个表

一个表交用户表userinfo

一个叫银行卡表cardinfo

还有一个叫交易信息表transinfo

本节课的目标就是通过创建三张表

让大家理解数据库表的作用

掌握表的创建方法

那怎么创建表

我们来看一下创建表的语法结构

create table后面跟的是

表的名称 括号 注意是小括号 然后分号结束

在小括号里

每一行是一个字段的声明

列名 数据类型 约束

列名 数据类型 约束

有多少个字段

我们就按照这样的格式进行罗列

那么这里面要说明的第一

if not exist是避免出现表

已经存在这样的现象

所以做了一个验证

第二个列明和表明必须符合

我们标识符命名的规则

第三个数据类型的作用是起到了

分配空间和限制取值范围这样的作用

第四个最后面的约束

它的作用是为了保证数据的准确性和一致性

Mysql的数据类型有哪些

大家可以看一下这个表格所示

对于数据类型来说

有小数的我们就声明成浮点型数据

比如说成绩没有小数的只是整数的

我们就声明称整形

比如说年龄

那除了数值型以外

还有字符串类型

字符串类型分成两种

一个叫定长字符型一个将变长字符型

那如果是固定长度

就声明称成char

可变长度

我们就声明成varchar

比如说身份证号

它的长度是固定的

所以我们声明成char类型

比如说家庭住址

它的长度是不固定的

有长有短

那么我们可以声明成varchar类型

那cahr和varchar在分配空间的时候是有区别的

固定长度的char类型

它是按照你给定的长度

来分配空间大小

而varchar差类型变长字符型

它是根据你括号里给定的长度

作为最大长度来分配空间的

而实际分配空间的时候是按照

你实际上这个类型中字段的真实长度

来进行分配的

除此之外还有日期

日期我们根据用户的需求来设计

是年 还是年月日 还是时间

还是年月日时间都有

根据用户的需求

最后来确定用哪一种数据类型

那数据类型知道了

接下来是完整性约束

在数据库当中

完整性约束有五种

分别是主键约束 替代键约束 空值约束

检查约束和参照完整性约束

首先我们来看一下主键约束

主键我前面我们已经讲过了

它是表当中的一列或者多个列的集合

主要是唯一标识表当中的每一行

它的关键字是primary key

那作为主键来说

有三点需要大家注意

第一每个表只能定义一个主键

第二表当中两个不同的行

在主键上不能具有相同的值

这就是唯一规则

第三一个列名在一个主键的列表当中

只能出现一次

第二个叫替代键约束

替代件事表当中的一列或一组列

它们的值在任何时候都是唯一的

替代键没有被选作主键的候选键

定义替代键的关键字叫unique

那么对于替代键来说

每个表可以创建多个替代键

替代键的值也可以为空

所以当我们碰到类似于这样的情况的时候

我们就可以做成替代键约束

第三个空值约束

空值约束是用来限制字段的取值是否允许为空的

如果可以为空

我们用null来表示

相反不允许为空

我们用not null来表示

比如说我们经常在上网的过程当中出现这样的问题

说名字不能为空

当你不填名字的时候就报错

那实际上它在数据库当中设置了不允许为空这样的空值约束

第四个叫检查约束

检查约束是用户自定义的一种约束

通常是用来限制数据的取值范围或者格式的

它的语法格式是用check来解决的

这个是最贴近用户需求的一种约束的形式

第五个叫参照完整性约束

实际上它说的是外键

什么是外键呢

在一个表当中

它不是主键或者是主键的一部分

而在另外一个表当中

它是主键

我们就把它叫外键

外键起到的作用是建立两个表之间的关联关系

简单来说

就是两个表当中的公共字段

定义外键的格式是用references表名 括号列名

来进行外键的定义的

那么我们来看看任务实施

我们要完成的任务是数据库BankDB表当中的创建

第一张表

就是我们的用户信息表叫userinfo

在useinfo表当中

我们有这么几个字段

包括用户的编号 用户的名字 身份证号 联系电话 地址

那么在这么多的字段当中

有一个是最重要的

来区分每一个用户的

我们说它是用户编号

所以我们把用户编号要做成是主键

那么这些字段都是什么类型的

比如说用户编号

我们定义成整形

方便它来自增

那么用户名定义成变长字符型

每个人的用户名不相同

身份证号大家都是一样的位数

所以定义成定长字符型char类型

联系电话我们定义成varchar类型

考虑到的是有固话有我们的手机

那么地址当然它也是变长的

所以定义成varchar类型

那么把类型确定了 把约束也确定了

我们就可以根据前面我们所说的创建表的语法格式

来创建我们的用户表了

首先 create table后面跟上useinfo用户表的名称

括号里放的是相应的每个字段的声明

第一个customerID

就是我们的用户编号

它是主键primary key

然后接下来用户名字它是不允许为空的

再接下来是我们的身份证号

身份证号做了一个检查约束check

括号里是len PID等18

也就是限制了它的长度

必须是18位

再接下来是联系电话

联系电话我刚才说可以是固话

可以是手机

但是在这个地方大家来看

我就把它固定成check,len telephone等11

也就是说

它的长度必须是十一位

最后一个是我们的地址

把每个字段都声明好之后

我们根据创建表的这个代码

然后编译运行就可以得到我们的第一张表

叫用户表userinfo了

接下来我们来看第二张表叫银行卡表

在银行卡表当中

我们前期分析了包括银行卡号 币种开户时间余额

密码挂失状态以及用户号

那么其中的银行卡号是主键

这个用户号是外键

用来关联银行卡和用户信息表的

那根据我们刚才分析的和我们前面所学的

创建表的语法格式

我们的代码像我们PPT当中所示的这样

那么其中刚才我说了

除了主键以外

这里面还做了非空

还做了check chenck 什么

balance大于等于一

也就是说你的余额要求是大于等于一元的

余额不能低于一块钱

那么这个是我们实际生活当中的应用

所以说check检查约束是离我们生活最近的

第三张表叫交易信息表

交易信息表里有交易编号 交易日期

银行卡交易类型 交易金额和备注

那么同样的道理

我们需要确定它的数据类型

确定它的约束

这里面约束我们做了什么呢

做了非空约束

还做了什么呢

tranaType like 存入 or tranaType like 支取

这个是做了一个检查约束

也就是说我们的交易类型要么是存入

要么是支取

另外在tranasMoney交易金额这些地方

也做了一个check检查约束

叫tranasMoney大于零

也就是说不管你是存钱还是取钱

你的这个交易金额一定是大于零的

一定是正数

这个是需要大家注意的

也是根据具体的业务来确定的

好那三张表我们已经建完了

今天给大家的拓展任务是员工管理系统EmployeeDB当中

我们表的创建

感谢大家的聆听

数据库技术应用课程列表:

学习情境一、银行存取款机数据库创建与管理

-模块1、数据库的基础知识

--1.1.1数据库设计-数据库的基本概念

--1.1.2数据管理的发展和数据库体系结构

--数据库的基础知识

-模块2、MYSQL介绍与安装

--MYSQL介绍与安装

--MYSQL介绍与安装

-模块3、银行存取款机数据库的创建与维护

--1.3数据库的创建与维护

--银行存取款机数据库的创建与维护

-模块4、银行存取款机数据库的设计

--1.4.1数据库的概念模型设计

--1.4.2数据库的数据模型设计

--1.4.3数据库的关系规范化

--银行存取款机数据库的设计

学习情境二、创建和管理银行存取款机数据表

-模块1、表的创建

--2.1表的创建

--任务实施:银行存取款机表的创建

--表的创建

-模块2、表的管理

--2.2表的管理

--任务实施:银行存取款机表的管理

--表的管理

-模块3、索引

--2.3索引

--任务实施:银行存取款机索引

--索引

-实践小课堂:宠物电商管理平台数据库和表的创建

--实践小课堂:宠物电商管理平台数据库和表的创建

学习情境三、银行存取款机数据操纵

-模块1、银行存取款机数据插入、修改和删除

--3.1.1数据插入

--任务实施:银行存取款机数据插入

--3.1.2数据修改和删除

--任务实施:银行存取款机数据修改和删除

--实践小课堂:宠物电商管理平台数据插入

--银行存取款机数据插入、修改和删除

-模块2、银行存取款机简单查询

--3.2.1简单查询

--任务实施:银行存取款机简单查询

--实践小课堂:宠物电商管理平台简单查询

--3.2.2统计查询

--任务实施:银行存取款机统计查询

--实践小课堂:宠物电商管理平台条件查询

--银行存取款机简单查询和统计查询

-模块3、银行存取款机连接查询

--3.3连接查询

--任务实施:银行存取款机连接查询

--银行存取款机连接查询

-模块4、银行存取款机子查询

--3.4子查询

--任务实施:银行存取款机子查询

--实践小课堂:宠物电商管理平台多表查询

--银行存取款机子查询

-模块5、银行存取款机分类汇总与排序

--3.5分类汇总与排序

--任务实施:银行存取款机分类汇总与排序

--实践小课堂:宠物电商管理平台分类汇总和排序

--银行存取款机分类汇总与排序

-模块6、银行存取款机视图

--3.6.1视图的创建与管理

--任务实施:银行存取款机视图的创建与管理

--3.6.2视图的更新

--任务实施:银行存取款机视图的更新

--实践小课堂:宠物电商管理平台视图

--银行存取款机视图

学习情境四、银行存取款机数据库编程

-模块1、银行存取款机存储过程

--4.1.1创建和执行存储过程

--任务实施:银行存取款机创建和执行存储过程

--实践小课堂:宠物电商管理平台存储过程

--4.1.2事务

--任务实施:银行存取款机事务

--实践小课堂:宠物电商管理平台存储函数

--银行存取款机存储过程

-模块2、银行存取款机触发器

--4.2.1INSERT触发器

--任务实施:银行存取款机INSERT触发器

--实践小课堂:宠物电商管理平台INSERT触发器

--4.2.2UPDATE触发器

--任务实施:银行存取款机UPDATE触发器

--实践小课堂:宠物电商管理平台UPDATE触发器

--4.2.3DELETE触发器

--任务实施:银行存取款机DELETE触发器

--实践小课堂:宠物电商管理平台DELETE触发器

--银行存取款机触发器

教学情境五、银行存取款机数据库安全性

-模块1、MYSQL用户管理

--模块1、MYSQL用户管理

--MYSQL用户管理

-模块2、MYSQL权限管理

--模块2、MYSQL权限管理

--MYSQL权限管理

-模块3、MYSQL数据库的锁机制

--MYSQL数据库的锁机制

--MYSQL数据库的锁机制

-模块4、MYSQL备份和恢复

--模块4、MYSQL备份和恢复

--MYSQL备份和恢复

2.1表的创建笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。