--1nf
--資料表中的所有欄位都是不可分割的原子值?
create table student2(
id int primary key,
name varchar(20),
address varchar(30)
);insert into student2 values(1,'張三','中國四川');
insert into student2 values(2,'李四','中國武漢');
insert into student2 values(3,'王五','中國北京');
--字段值還可以繼續拆分的,就不滿足第一正規化
create table student3(
id int primary key,
name varchar(20),
country varchar(30),
privence varchar(30),
city varchar(30),
details varchar(30)
);insert into student3 values(1,'張三','中國四川');
insert into student3 values(2,'李四','中國武漢');
insert into student3 values(3,'王五','中國北京');
--正規化設計的越詳細,對於某些實際操作可能更好,但是不一定都是更好。
--必須是滿足第一正規化的前提下,第二正規化要求,除主鍵外的每一列都必須完全依賴與主鍵。
--如果要出現不完全依賴,只可能發生在聯合主鍵的情況下。
--訂單表
create table myorder(
product_id int,
customer_id int,
product_name varchar(20),
customer_name varchar(20),
primary key(product_id,customer_id)
);--問題?
--除主鍵以外的其他列,只依賴與主鍵的部分字段。
--拆表
create table myorder(
order_id int primary key,
product_id int,
customer_id int
);create table product(
id int primary key,
name varchar(20)
);create table customer(
id int primary key,
name varchar(20)
);--分成三個表之後,就滿足了第二正規化的設計
--3nf
--必須先滿足第二正規化,除主鍵列的其他列之間不能有傳遞依賴關係
create table myorder(
order_id int primary key,
product_id int,
customer_id int
);create table customer(
id int primary key,
name varchar(20),
phone varchar(15)
);總結來說:第一正規化是每個屬性不能在拆分,第二正規化是除主鍵外每一列與主鍵要完全依賴,第三正規化是除主鍵列的其他列之間不能有傳遞依賴關係。詳細在慢慢探索。
一天學會MySQL(三)
內連線inner join 或者 join 外連線1 左連線 left join 或者 left outer join 2.右連線 right join 或者 right outer join 3.完全外連線 full join 或者 full outer join create database ...
一天學會php 下
session的使用 session的作用很多,最多用的就是站點內頁面間變數傳遞。在頁面開始我們要session start 開啟session 然後就可以使用session變數了,比如說要賦值就是 session item item1 要得到值就 是 item1 session item 很簡單吧...
一天學會 MySQL 資料庫 筆記
1.如何登陸資料庫伺服器 mysql u root p 123456 2.如何查詢資料庫伺服器中所有的資料庫 show databases 3.如何選中某乙個資料庫操進行作 use sushe 4.如何退出資料庫伺服器 exit 如何建立資料 create dataase test 檢視表 show...