12. MySQL 设计数据表

AI 概述
1. 数据表命名规范2. 新建学生信息表 student2.1 确定字段2.2 选择字段的数据类型2.3 新建数据表3.新建教师信息表 teacher3.1 确定字段3.2 选择字段的数据类型3.3 新建数据表4.新建课程表 course4.1 确定字段4.2 选择字段的数据类型4.3 新建数据表5.新建学生选课关联表 student_course5.1 确定字段5.2 ...
目录
文章目录隐藏
  1. 1. 数据表命名规范
  2. 2. 新建学生信息表 student
  3. 3.新建教师信息表 teacher
  4. 4.新建课程表 course
  5. 5.新建学生选课关联表 student_course
  6. 6.小结

前面小节介绍了如何新建数据库和选择数据库,还介绍了 MySQL 的存储数据类型,本小节学习如何设计学生课程相关数据表,其中包括学生信息 student,教师信息表 teacher,学科表 course,学生选课表 student_course,这一小节的主要目的是为了学习如何新建数据表,合理选择字段类型。

一个数据表主要包含信息有 : 表名主键字段数据类型索引,本节主要介绍表的命名规范字段命名字段的数据类型选择

本节内容新建的表都是新建在 “item_name” 数据库中的,新建 “item_name” 数据库命令如下 :

CREATE DATABASE item_name;

新建数据库之后选择数据库:

USE item_name;

你也可以自行新建一个数据库,自己命名就好。

1. 数据表命名规范

数据表命名是小写字母和下划线 _ 组成,用来分割不同单词之间的含义,例如 “student_course” 表示学生选课关联表,实际命名需要根据具体功能而定,好的命名规范在实际工作中也是很重要的。

2. 新建学生信息表 student

2.1 确定字段

字段名称 含义
id 自增主键
name 学生姓名
age 学生年龄
id_number 身份证号

学生信息表包含的字段可以有很多,本小节选择学生姓名、年龄、身份证号介绍字段的选择,字段的确定是根据实际业务需求来新增或减少的,例如想要存储学生籍贯信息可新增 “address” 字段。

2.2 选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)

Tips:实际业务中一般要将年龄字段设置为可变,通常会使用时间戳(距离 1970-01-01 00:00:00 的秒数)来表示年龄相关的信息,在这里为了方便演示直接使用了 UNSIGNED INT。

一般来说姓名字段的长度为 2-4 个字符,但是考虑到少数民族的学生姓名比较长,所以将姓名字段的长度设置为 50,适当的给的大一点。身份证号同样使用字符串类型来存储,因为有的身份证号中有字母。身份证的长度统一都是 18 位不变,直接在这里写死就好。

2.3 新建数据表

CREATE TABLE `student`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '无名',
  `age` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `id_number` varchar(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

其中 “student” 为表名称,“id”、“name”、“age”、“id_number” 为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,“AUTO_INCREMENT” 表示自增,”PRIMARY KEY (`id`)”表示设置 “id” 为业务主键,,”NOT NULL DEFAULT ‘无名’ ” 表示默认不为空,且默认值为 “无名” 。

执行结果如下图:

新建数据表

查看当前数据库中所有的数据表:

show tables

可以看到 item_name 数据库中已经有了 student 这张数据表。

3.新建教师信息表 teacher

3.1 确定字段

字段名称 含义
id 自增主键
name 教师姓名
age 教师年龄
id_number 身份证号

同样教师信息的字段可选择也很多,这里选择教师姓名、教师年龄、教师身份证号,可自行选择感兴趣的字段,并参照新建学生表的步骤选择字段,如教师邮箱、教师博客地址。

3.2 选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)

3.3 新建数据表

CREATE TABLE `teacher`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '教师名',
  `age` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `id_number` varchar(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
);

其中 “teacher” 为表名称,“id”、“name”、“age”、“id_number” 为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,“AUTO_INCREMENT” 表示自增,“PRIMARY KEY (`id`)” 表示设置 “id” 为业务主键,”NOT NULL DEFAULT 教师名’ “表示默认不为空,且默认值为 “教师名” 。

执行结果如下图:

新建教师信息表 teacher

这里展示了使用 Navicat 来执行 sql 语句,选择数据库只需点击相应的数据库名称,然后选择新建查询即可。

4.新建课程表 course

4.1 确定字段

字段名称 含义
id 自增主键
course_name 课程名称
teacher_id 教师 id

4.2 选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
course_name VARCHAR(50)
teacher_id 无符号整型(UNSIGNED INT)

4.3 新建数据表

`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`course_name` varchar(50) NOT NULL DEFAULT ”,
`teacher_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
);

执行结果如下图:

执行结果

5.新建学生选课关联表 student_course

5.1 确定字段

字段名称 含义
id 自增主键
student_id 学生 id
course_id 课程 id

5.2 选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
student_id 无符号整型(UNSIGNED INT)
course_id 无符号整型(UNSIGNED INT)

5.3 新建数据表

CREATE TABLE `student_course`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `student_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `course_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
);

执行结果如下图:

新建学生选课关联表 student_course

6.小结

本节介绍了如何新建学生选课相关数据表,熟悉如何合理选择字段数据类型,需要注意的是每一张表都必须有一个主键,一般建议选定为无符号整型 id 作为主键,并且 id 一般作为主键一般设置为自增的(特殊情况可使用其他非自增 id 作为主键),实际业务中数据库优化第一步即为合理的设计数据表,其中选择合适的数据类型显得尤为重要。

以上关于12. MySQL 设计数据表的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 12. MySQL 设计数据表

发表回复