中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

HeadFirstSQL:學(xué)習(xí)筆記2/2
來(lái)源:易賢網(wǎng) 閱讀:1250 次 日期:2014-11-03 11:23:33
溫馨提示:易賢網(wǎng)小編為您整理了“HeadFirstSQL:學(xué)習(xí)筆記2/2”,方便廣大網(wǎng)友查閱!

第七章 多表設(shè)計(jì)

1.外鍵是表中的某一列,它引用到另一個(gè)表的具有唯一性的鍵,一般是主鍵。外鍵用于確認(rèn)一張表中的行與另一張表中的行相對(duì)應(yīng)。

2.外鍵引用的主鍵稱之為父鍵,父鍵所在的表稱之為父表。

3.外鍵不唯一,可以為null,為null表示在父表中沒(méi)有相應(yīng)地主鍵。

4.引用完整性:插入外鍵列的值必須在父表的來(lái)源列中。外鍵能夠保證引用完整性,這是外鍵重要的功能。

5.約束定義了表中的某些規(guī)則,防止表結(jié)構(gòu)遭到破壞。

6.定義外鍵:

create table nickname(

id int not null auto_increment primary key,

nname varchar(30) not null,

player_id int);

mysql> alter table nickname add constraint players_id_fk foreign key(player_id)

references players(id);

這里注意:外鍵的類(lèi)型要和主鍵的類(lèi)型相同,否則會(huì)出現(xiàn)errno150錯(cuò)誤。

7.表之間的關(guān)系

一對(duì)一:用的很少

一對(duì)多:通過(guò)外鍵連接

多對(duì)多:復(fù)雜,通過(guò)連接表junction table存儲(chǔ)兩張表的主鍵

組合鍵:多個(gè)鍵構(gòu)成主鍵

8.范式:

第一范式(1NF)。規(guī)則1:數(shù)據(jù)列只包含有原子性的值(1列同時(shí)存儲(chǔ)多個(gè)信息字段)。規(guī)則2:沒(méi)有重復(fù)的數(shù)據(jù)組(多列存儲(chǔ)相同類(lèi)型字段,如color1列,color2列)。

第二范式(2NF)。規(guī)則1:先符合1NF。規(guī)則2:沒(méi)有部分函數(shù)依賴性(列1、2是組合主鍵,如列3根據(jù)列1的數(shù)據(jù)產(chǎn)生,但與列2無(wú)關(guān),稱為列3部分依賴)。

u 函數(shù)依賴:一列的值根據(jù)另一列的值的改變而改變。

u 部分函數(shù)依賴:非主鍵的列依賴于主鍵的一部分。

u 傳遞函數(shù)依賴:任意非鍵列與另一非鍵列有關(guān)聯(lián)。

滿足1NF,并且主鍵列只有一列,一定符合2NF。

第三范式(3NF)。規(guī)則1:首先符合2NF。規(guī)則2:沒(méi)有傳遞函數(shù)依賴性。

關(guān)于三個(gè)范式的理解(以下內(nèi)容引用自:

http://blog.csdn.net/famousdt/article/details/6921622):

◆ 第一范式(1NF):強(qiáng)調(diào)的是列的原子性,即列不能夠再分成其他幾列。

考慮這樣一個(gè)表:【聯(lián)系人】(姓名,性別,電話)

如果在實(shí)際場(chǎng)景中,一個(gè)聯(lián)系人有家庭電話和公司電話,那么這種表結(jié)構(gòu)設(shè)計(jì)就沒(méi)有達(dá)到 1NF。要符合 1NF 我們只需把列(電話)拆分,即:【聯(lián)系人】(姓名,性別,家庭電話,公司電話)。1NF 很好辨別,但是 2NF 和 3NF 就容易搞混淆。

◆ 第二范式(2NF):首先是 1NF,另外包含兩部分內(nèi)容,一是表必須有一個(gè)主鍵;二是沒(méi)有包含在主鍵中的列必須完全依賴于主鍵,而不能只依賴于主鍵的一部分。

考慮一個(gè)訂單明細(xì)表:【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Quantity,ProductName)。

因?yàn)槲覀冎涝谝粋€(gè)訂單中可以訂購(gòu)多種產(chǎn)品,所以單單一個(gè) OrderID 是不足以成為主鍵的,主鍵應(yīng)該是(OrderID,ProductID)。顯而易見(jiàn) Discount(折扣),Quantity(數(shù)量)完全依賴(取決)于主鍵(OderID,ProductID),而 UnitPrice,ProductName 只依賴于 ProductID。所以 OrderDetail 表不符合 2NF。不符合 2NF 的設(shè)計(jì)容易產(chǎn)生冗余數(shù)據(jù)。

可以把【OrderDetail】表拆分為【OrderDetail】(OrderID,ProductID,Discount,Quantity)和【Product】(ProductID,UnitPrice,ProductName)來(lái)消除原訂單表中UnitPrice,ProductName多次重復(fù)的情況。

◆ 第三范式(3NF):首先是 2NF,另外非主鍵列必須直接依賴于主鍵,不能存在傳遞依賴。即不能存在:非主鍵列 A 依賴于非主鍵列 B,非主鍵列 B 依賴于主鍵的情況。

考慮一個(gè)訂單表【Order】(OrderID,OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity)主鍵是(OrderID)。

其中 OrderDate,CustomerID,CustomerName,CustomerAddr,CustomerCity 等非主鍵列都完全依賴于主鍵(OrderID),所以符合 2NF。不過(guò)問(wèn)題是 CustomerName,CustomerAddr,CustomerCity 直接依賴的是 CustomerID(非主鍵列),而不是直接依賴于主鍵,它是通過(guò)傳遞才依賴于主鍵,所以不符合 3NF。

通過(guò)拆分【Order】為【Order】(OrderID,OrderDate,CustomerID)和【Customer】(CustomerID,CustomerName,CustomerAddr,CustomerCity)從而達(dá)到 3NF。

第二范式(2NF)和第三范式(3NF)的概念很容易混淆,區(qū)分它們的關(guān)鍵點(diǎn)在于,2NF:非主鍵列是否完全依賴于主鍵,還是依賴于主鍵的一部分;3NF:非主鍵列是直接依賴于主鍵,還是直接依賴于非主鍵列。

第八章 聯(lián)接與多張表的操作

1.使用AS將查詢結(jié)果作為數(shù)據(jù)插入新表。Create table new (id int not null auto_increment primary key, profession varchar) as select profession from mytable group by profession order by profession;

2.使用AS添加別名。Select profession AS my_profes from my_contacts;AS可以省略。

3.交叉聯(lián)接:

Select t.toy, b.boy from toys as t cross join boys as b; cross join 返回兩張表的每一行相乘(笛卡爾乘)的結(jié)果。

4.inner join利用條件式里的比較運(yùn)算符結(jié)合兩張表;

Select boys.boy, toys.toy from boys inner join toys on boys.toy_id = toys.toy_id;相等聯(lián)接

Select boys.boy, toys.toy from boys inner join toys on boys.toy_id<>toys.toy_id;不等聯(lián)接

Select boys.boy, toys.toy from boys nature join toys;自然聯(lián)接(兩張表中含有相同列名的相等內(nèi)連接)

第九章 子查詢

1.子查詢:被另一個(gè)查詢包圍的查詢,也可稱之為內(nèi)層查詢。

select interest from interest as inte where inte.playerID in (select play

erID from interest);

2.子查詢通常與as和連接一起使用,提高查詢效率。

3.In/notin與exists/not exists比較:

摘自:http://blog.csdn.net/ldl22847/article/details/7800572

in 是把外表和內(nèi)表作hash 連接,而exists是對(duì)外表作loop循環(huán),每次loop循環(huán)再對(duì)內(nèi)表進(jìn)行查詢。一直以來(lái)認(rèn)為exists比in效率高的說(shuō)法是不準(zhǔn)確的。

如果查詢的兩個(gè)表大小相當(dāng),那么用in和exists差別不大。

如果兩個(gè)表中一個(gè)較小,一個(gè)是大表,則子查詢表大的用exists,子查詢表小的用in:

例如:表A(小表),表B(大表)

a:

select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引;

select * from A where exists(select cc from B where cc=A.cc) 效率高,用到了B表上cc列的索引。

相反的

b:

select * from B where cc in (select cc from A) 效率高,用到了B表上cc列的索引;

select * from B where exists(select cc from A where cc=B.cc) 效率低,用到了A表上cc列的索引。

not in 和not exists如果查詢語(yǔ)句使用了not in 那么內(nèi)外表都進(jìn)行全表掃描,沒(méi)有用到索引;而not extsts 的子查詢依然能用到表上的索引。所以無(wú)論那個(gè)表大,用not exists都比not in要快。

in 與 =的區(qū)別

select name from student where name in ('zhang','wang','li','zhao');

select name from student where name='zhang' or name='li' or name='wang' or name='zhao'

的結(jié)果是相同的。

第十章 外聯(lián)接、內(nèi)聯(lián)接與聯(lián)合

1.左外聯(lián)接:匹配左表中的每一行及右表中符合要求的行。

Select g.girl,b.boy from girls as g left out join toys as t on g.toy_id = t.toy_id;

2.外聯(lián)接與內(nèi)聯(lián)接的區(qū)別是:外聯(lián)接一定能夠返回結(jié)果集數(shù)據(jù)行(找不到相符合的返回NULL),結(jié)果行數(shù)等于右表行數(shù)。

3.右外聯(lián)接:right out join,結(jié)果行數(shù)等于左表函數(shù)。

4.自引用外鍵:self-referencing foreign key,出于其他目的而引用同一張表的主鍵。

5.自聯(lián)接:適用于含有子引用外鍵的表,將單一表當(dāng)成兩張具有完全相同信息的表進(jìn)行查詢。使用inner join完成查詢。表cc的boss_id自引用外鍵id。

Select c1.name,c2.name as boss from cc c1 inner join cc c2 on c1.boss_id = c2.id;

6.union:聯(lián)合,組合查詢結(jié)果集;

Select profession from A union select profession from B;相同profession只出現(xiàn)一次

Select profession from A union all select profession from B;相同profession出現(xiàn)多次

7.使用union創(chuàng)建新表:任何select都可以創(chuàng)建新表

Create table test as select profession from A union select sex from B;

8.intersect:交集

9.Except:差集

第十一章 約束、視圖和事務(wù)

1.約束:例如check(限定允許插入某個(gè)列的值,coin char(1) check in(‘A’,’B’,’C’)),not null, primary key, foreign key, unique等。

添加約束:alter table mytable add constraint check gender in (‘M’,’F’);

2.視圖:虛擬數(shù)據(jù)表

創(chuàng)建視圖:create view webdesign AS select name,sex from table1 nature join table2 where table1.id = table2.id;

查看視圖:select * from webdesign;

刪除視圖:drip view webdesign;

3.事務(wù):transaction完成一組工作的sql,所有步驟必須能夠全部完成,否則不完成任何一項(xiàng)任務(wù)。

事務(wù)過(guò)程:start transaction->執(zhí)行sql語(yǔ)句->commit/rollback

顯示創(chuàng)作數(shù)據(jù)表代碼:show create table players;

必須使用支持事務(wù)的存儲(chǔ)引擎:InnoDB和BDB.

改變存儲(chǔ)引擎:alter table yourtable TYPE=InnoDB;

第十二章 安全性

1.設(shè)定用戶密碼:set password for ‘root’@’localhost’ = password(‘a(chǎn)aa’);

2.添加新用戶:create user conan identified by ‘conanswp’;

3.授權(quán):grant select on table1 to conan

4.撤銷(xiāo)權(quán)限:revoke select on table1 from conan

5.創(chuàng)建角色:create role data_entry;

6.授權(quán):grant select,update,insert on table1 to data_entry;

7.使用角色:grant data_entry to conan;

8.刪除角色:drop role data_entry;

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:HeadFirstSQL:學(xué)習(xí)筆記2/2
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产美女精品| 欧美一区二区日韩| 欧美国产在线视频| 老色鬼久久亚洲一区二区 | 亚洲国产老妈| 亚洲免费观看高清在线观看| 在线高清一区| 一区二区成人精品| 亚洲激情一区| 韩日欧美一区| 亚洲精品亚洲人成人网| 亚洲欧美激情四射在线日 | 韩日欧美一区| 日韩一级裸体免费视频| 久久国产精彩视频| 欧美日韩一本到| 国产一区美女| 亚洲无毛电影| 欧美精品一区二| 黑丝一区二区三区| 亚洲影院免费观看| 欧美激情第三页| 国内成+人亚洲| 亚洲综合电影| 欧美日韩亚洲免费| 91久久精品美女高潮| 欧美一区日本一区韩国一区| 欧美色大人视频| 亚洲精品中文字幕在线观看| 久久免费99精品久久久久久| 国产精品美女久久久久久2018| 亚洲精品婷婷| 欧美成人高清视频| 在线不卡a资源高清| 久久激五月天综合精品| 欧美日韩一区二区三区视频| 亚洲国产小视频在线观看| 校园激情久久| 国产美女精品一区二区三区| 亚洲制服欧美中文字幕中文字幕| 欧美激情视频一区二区三区在线播放| 影音先锋另类| 另类图片综合电影| 精品成人一区二区| 久久婷婷蜜乳一本欲蜜臀| 国产日韩一区二区三区在线| 亚洲永久免费av| 国产精品久久77777| 亚洲手机在线| 欧美色图首页| 一区二区三区高清| 欧美日韩精品免费看| 9人人澡人人爽人人精品| 欧美另类专区| 99热在线精品观看| 国产精品久久久久影院色老大| 亚洲国产成人精品久久久国产成人一区| 9久re热视频在线精品| 欧美极品欧美精品欧美视频| 亚洲精品影院| 欧美日一区二区三区在线观看国产免| 在线观看亚洲| 美日韩精品视频| 亚洲人成在线观看网站高清| 亚洲图片欧美午夜| 久久久久久综合网天天| 国产视频一区在线观看一区免费 | 久久精品国产亚洲a| 国产一区三区三区| 久久久噜噜噜久久久| 在线视频成人| 欧美精品麻豆| 亚洲一区免费视频| 国产日韩欧美91| 久久综合色8888| 亚洲国产一区二区视频 | 亚洲国产女人aaa毛片在线| 久久综合九色综合欧美就去吻| **欧美日韩vr在线| 欧美日韩免费在线| 性欧美暴力猛交69hd| 影音先锋中文字幕一区| 欧美理论片在线观看| 亚洲欧美激情四射在线日| 国内精品久久久久伊人av| 免费久久99精品国产自在现线| 亚洲另类自拍| 国产日韩成人精品| 欧美va天堂va视频va在线| 亚洲人www| 国产日韩亚洲欧美综合| 欧美成人精品在线视频| 亚洲欧美日韩在线播放| 亚洲国产二区| 国产精品一区二区你懂的| 免费观看不卡av| 亚洲专区一区| 亚洲日本视频| 国产主播精品在线| 欧美性做爰毛片| 免费亚洲一区二区| 午夜精品影院在线观看| 亚洲精品自在在线观看| 国产欧美日韩一区二区三区在线观看| 久久青草福利网站| 日韩一级精品| 国产日韩精品入口| 欧美日韩福利视频| 久久久久女教师免费一区| 一区二区三区不卡视频在线观看| 激情综合久久| 国产欧美成人| 欧美午夜在线| 欧美另类一区二区三区| 久久天天躁狠狠躁夜夜av| 亚洲欧美综合一区| 99这里只有精品| 亚洲精品日韩久久| 亚洲电影天堂av| 黑人操亚洲美女惩罚| 国产欧美精品xxxx另类| 欧美精品一区三区| 免费在线国产精品| 久久久久久噜噜噜久久久精品 | 日韩视频在线永久播放| …久久精品99久久香蕉国产 | 午夜国产精品影院在线观看| 日韩一区二区免费高清| 91久久国产综合久久| 精品99视频| 激情av一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 国产婷婷成人久久av免费高清 | 中日韩视频在线观看| 亚洲精品韩国| 亚洲精品久久在线| 亚洲国产精品成人精品 | 欧美一区国产二区| 亚洲欧美日韩在线不卡| 亚洲一区二区免费| 一本色道久久综合亚洲二区三区| 91久久久久久国产精品| 亚洲激情小视频| 亚洲精品日韩一| 在线视频精品| 亚洲综合三区| 小辣椒精品导航| 久久精品视频免费播放| 久久国产精品毛片| 久久黄色小说| 牛牛精品成人免费视频| 欧美黄色aaaa| 欧美日韩国产系列| 国产精品国产成人国产三级| 国产精品久久一区主播| 国产日韩精品久久久| 黄色成人av网| 亚洲精品女av网站| 亚洲午夜在线| 久久精品国产一区二区三| 快she精品国产999| 欧美乱妇高清无乱码| 国产精品久久激情| 国产一区二区三区无遮挡| 在线免费观看日韩欧美| 99精品国产热久久91蜜凸| 一区二区激情| 欧美一级片一区| 欧美成ee人免费视频| 欧美日韩精品三区| 国产精品日产欧美久久久久| 国产偷久久久精品专区| 好看的亚洲午夜视频在线| 亚洲三级性片| 午夜精品久久久久久久| 美腿丝袜亚洲色图| 欧美激情影音先锋| 国产精品视频yy9099| 在线免费观看欧美| 亚洲精品影院在线观看| 欧美影院在线| 另类尿喷潮videofree| 老鸭窝毛片一区二区三区| 国产精品成人播放| 在线免费观看视频一区| 亚洲欧美综合v| 欧美精品激情在线观看| 国产亚洲福利一区| 一本色道久久综合| 久久综合影音| 国产精品一二三| 亚洲精选中文字幕| 久久免费视频观看| 国产精品美女主播在线观看纯欲| 亚洲第一福利在线观看| 亚洲综合电影| 欧美成人有码| 精品不卡一区| 亚洲主播在线观看| 欧美日韩国产欧|