一天學會MySQL(四)

2021-10-05 11:35:35 字數 1726 閱讀 7895

--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...