Head First SQL 第四章

表格规范化~

不要把表格设计得太复杂,简短的查询比复杂的快。

=========================================


SQL得名于关系数据库管理系统,RDBMS。

建立表的指导步骤:

①挑出事物,选择你希望描述的某样事物。

②列出一份关于那样事物的信息列表,这些信息都是使用表时的必要信息。

③使用信息列表,把关于那样事物的综合信息拆分成小块信息,以便用于组织表。


一个日期可以细分为 年月日,一个地址还可以细化到门牌号,但是我们不需要这么细致的数据。


=================================================================

原子性(atom)数据,指的是已经被分割到最小块的数据。

比如对于快递员,一个带有街道名称和门牌号的列数据就是原子性的。


所以设计表的时候,想想列是不是具有原子性数据,让查询既简短又直击要害。


①具有原子性数据的列中不会有多个类型相同的值。

②具有原子性数据的表中不会有多个存贮同类数据的列。

==================================================================

现在我们要学习 主键。

主键用于独一无二地识别出每条记录。

主键不能为 NULL。

主键不应该被修改,而且必须简洁。


现在我们要重新建一个表,就要看看原来的代码,

SHOW CREATE TABLE my_contacts;

====================================================================

主键不能是NULL,所以一定要设置为 NOT NULL。

首先创建表,设置主键:

CREATE TABLE my_contacts
(
contact_id INT NOT NULL,
last_name varchar(30) default NULL,
first_name varchar(20) default NULL,
email varchar(50) default NULL,
......
seeking varchar(100) default NULL,
PRIMARY KEY (contact_id)
)

创建表,id自动递增:

CREATE TABLE my_contacts
(
contact_id INT NOT NULL AUTO_INCREMENT,
last_name varchar(30) default NULL,
first_name varchar(20) default NULL,
email varchar(50) default NULL,
......
seeking varchar(100) default NULL,
PRIMARY KEY (contact_id)
)

================================================================

SHOW 的部分用法:

①查看表的CREATE 代码:

SHOW CREATE TABLE my_contacts;

②显示表中的某一列:

SHOW COLUMNS FROM tablename;

③查看警告:

SHOW WARNINGS;

④查看任何编了索引的列以及索引类型:

SHOW INDEX FROM tablenamel;


============================================================

现在要为现有的表添加主键:

ALTER TABLE my_contacts
ADD COLUMN contact_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY(contact_id); 











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值