Head First SQL 第四章

来源:互联网 发布:js表单提交到数据库 编辑:程序博客网 时间:2024/05/22 17:20

表格规范化~

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

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


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_contactsADD COLUMN contact_id INT NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY(contact_id); 











0 0
原创粉丝点击