库系统DatabaseSystemsP

上传人:沈*** 文档编号:224248122 上传时间:2023-07-28 格式:PPT 页数:98 大小:569KB
返回 下载 相关 举报
库系统DatabaseSystemsP_第1页
第1页 / 共98页
库系统DatabaseSystemsP_第2页
第2页 / 共98页
库系统DatabaseSystemsP_第3页
第3页 / 共98页
亲,该文档总共98页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
资料库系统DatabaseSystemsP Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望相關名詞n資料庫(database)n集合的特性n資料庫系統n資料庫管理系統 (database management systems)2資料庫系統資料庫n資料庫(DB)n資料庫是相關資料的集合n集合的特性n集合中的元素沒有順序性n集合中的元素不會重複n集合可以是空的3資料庫系統資料庫管理系統n資料庫管理系統(DBMS)是許多程式的集合,讓使用者得以定義、建構,與處理資料庫n定義:資料的型態、結構與限制n建構:在DBMS的控制下,將資料儲存到媒體n處理:查詢、更新4資料庫系統資料庫系統使用者SQL查詢/應用程式資料庫管理系統儲存綱要儲存資料庫5資料庫系統資料庫系統Database SystemsDatabase System Concepts6資料庫系統簡介n資料模型(Data Model)是提供資料抽象化的主要工具nData Model 是用來描述資料庫結構的一種概念nData Model的內容包含n結構的表示方式n限制n運算(操作)7資料庫系統資料模型 Data ModelnData Model使用的概念n實體 Entityn屬性 Attributen關係 Relationship客戶購買商品商品編號商品名稱尺寸顏色價格客戶編號客戶姓名電話時間訂購量8資料庫系統關聯式資料模型概念 Relational Model Conceptsn關聯式模型將資料庫表示成一個關聯的集合n相關名詞n關聯(Relation)n值組(Tuple)n屬性(Attribute)n定義域(Domain)9資料庫系統Relation Schemas 名詞簡介PRODUCT值組屬性集合關聯表名稱顏色屬性尺寸屬性品名屬性價格屬性Pid PnameSize Color Price11襯衫L藍10022帽子M藍20013夾克S紅30034牛仔褲L黑400品號屬性主鍵價格資料10資料庫系統Relation Schemas 特性與內容n關聯表的屬性數目稱為它的維度n一個關聯表中任兩個屬性名稱不可以重覆n關聯表綱要(Relation Schema)包含:n關聯表名稱n屬性集宣告n所有屬性的相對資料型態宣告n主鍵的宣告n外來鍵(Foreign Key)之宣告11資料庫系統DBMS的架構與資料獨立nThree Schema(三綱要架構)n外層(景觀層)External Level:外部綱要n概念層 Conceptual Level:慨念綱要n內層 Internal Level:內部綱要n資料獨立n邏輯資料獨立n實體資料獨立12資料庫系統Three Scheman外層(又稱為景觀層)External Level:外部綱要n描述特定使用者所感興趣的資料庫部分n隱藏儲存結構等其他細節n概念層 Conceptual Level:慨念綱要n描述整個資料庫的結構n隱藏儲存等細節n著重在實體、資料型態、關係、使用者的操作與限制n內層Internal Level:內部綱要n用來描述資料庫的實際儲存結構與路徑13資料庫系統Data Independence 資料獨立nLogical data independence(邏輯資料獨立)n改變 conceptual schema 時,不需改變 external schema(or application)nPhysical data independence(實體資料獨立)n改變 internal schema 時,不需改變 conceptual schema 14資料庫系統SQLnDDL 資料定義語言n用來定義 concept scheman與資料庫綱要之定義有關的操作,如資料庫的建立、表格的建立等命令nDML 資料處理語言n對資料庫資料進行擷取、新增、刪除與修改等處理之命令n僅對資料有所影響,與資料庫綱要定義無關15資料庫系統資料庫系統Database SystemsModeling Using the Entity-Relationship Approach16資料庫系統屬性型態n簡單(Simple)n複合(Composite)n單值(Single-valued)n多值(Multi-valued)n儲存(Stored)n導出(Derived)17資料庫系統屬性型態n簡單(simple)與 複合(composite)姓名生日地址員工編號電話薪資員工姓名18資料庫系統地址里別隣號郵遞區號路別縣市別里隣應該是簡單還是複合屬性?19資料庫系統屬性型態n單值(single-valued)與多值(multi-valued)nEx:一個部門只有一個部門編號與部門名稱,某些部門可能存同時在兩個地點(例如:一個部門分別在 台中台中 與 彰化彰化 各有據點)部門名稱部門編號地點20資料庫系統屬性型態n儲存(stored)與 導出(derived)nEx:年紀可以經由生日生日換算得到姓名姓名生日地址員工編號電話薪資員工年紀21資料庫系統屬性型態(範例二)nEx:一個客戶的交易次數可以經由訂購紀錄中計算出來客戶編號交易次數姓名電話商品編號名稱價格日期交易量訂購22資料庫系統鍵值屬性n一個具有唯一性的屬性 n假設:n每一個客戶的編號會唯一n每一個商品的編號會唯一,且每一商品的名稱也會唯一客戶編號交易次數姓名電話商品編號名稱價格日期交易量訂購23資料庫系統實體,關係,屬性n實體型態n具有相同屬性集合的元素所形成的集合n關係型態n用來連接某些相關的實體型態n屬性可以用來描述實體或關係學生學號姓名性別課程編號名稱教師日期成績選修24資料庫系統關係employeeWorksforDepartmentn關係型態的Degree是參與此關係的實體型態數目nEx:Works_for的Degree為2,又稱二元關係Relationship25資料庫系統關係型態的限制nConstraints on Relationship Typesn基數率與參與n基數率n一個實體所能參與的關係案例數nEx:一個部門僅會有一個主管n參與nEx:任何一個部門一定有一個主管(去管理它)26資料庫系統基數率(cardinality ratio)n1:1的範例員工員工部門部門管理管理e1e2e3e4d1 d2d3r1r2r327資料庫系統基數率n1:N的範例員工員工部門部門屬於屬於e1e2e3e4d1 d2d3r1r2r3r428資料庫系統基數率nN:M的範例員工員工專案專案參與參與e1e2e3e4P1 p2p3r1r2r3r4r5r629資料庫系統參與限制n實體的存在是否依靠關係型態與另一實體產生關聯來決定n部份參與(以單線表示)n全部參與(以雙線表示)員工員工部門部門管理管理部份參與全部參與30資料庫系統參與限制(範例二)n課程實體的存在是否依靠開設關係型態與另一教師實體產生關聯來決定n課程實體要存在必須所對應的教師實體與開設關係都存在,該課程才會存在n任何一個課程一定要有教師去開設它 教師教師課程課程開設開設部份參與全部參與31資料庫系統弱實體型態(Weak Entity Type)nWeak Entity Types 本身可以沒有任何的鍵值屬性n透過另一實體型態的一些屬性所組成的相關特定實體(Identifying Owner)來辨認n辨認關係(Identifying Relationship)nWeak Entity在沒有Identifying Owner 的狀況下是無法辨認的,所以Weak Entity 總是有一個完全參與的限制來與它的辨認關係產生關聯32資料庫系統姓名生日性別關係Weak entityIdentifying relationship員工員工眷屬眷屬擁有擁有全部參與Identifying owner員工編號弱實體型態(Weak Entity Type)33資料庫系統適當名稱n大寫字母表示實體與關係型態n屬性名稱字首大寫n實體多使用名詞n關係則採用動詞n方向:由左到右,由上到下34資料庫系統範例:讀者借閱書籍n系統必須紀錄讀者的身份證號碼、姓名、生日,與聯絡方式,其中聯絡方式包含了電話與地址資料n系統紀錄了館藏中每一本書籍的書名與作者,雖然有些書籍有兩個以上的作者,但一定都只有一個唯一書號.為了掌握每本書的熱門程度,系統必須提供每本書籍的曾經被借閱的次數,以提供讀者參考n當一個讀者要借閱書籍時,系統必須紀錄借閱的日期,以便管理.而每一位讀者至少都有借閱過一次以上書籍的紀錄35資料庫系統範例:讀者借閱書籍讀者讀者書籍書籍借閱借閱身份證號碼生日聯絡方式電話地址姓名書名書號作者借閱次數日期作者36資料庫系統資料庫系統Database SystemsRelational Database Constraints37資料庫系統關聯式資料模型的限制n定義域限制n鍵值限制n實體完整性限制n參考完整性限制38資料庫系統屬性與定義域(Domain)n欄位中所允許的數值(Value)資料稱為定義域(Domain)n定義域D是基元(Atomic)數值資料的集合nDomain中的數值是不可分割個所以稱為基元nDom(Sex)=男生,女生 則”男生”與”女生”皆為sex屬性的的合理基元值nEx:nage:大於0的整數nID_numbers:一個英文字母加上九位數字的集合n年級:介於14之間的數值39資料庫系統定義域限制n定義域限制指定了一屬性A的值必須在該屬性值的定義域Dom(A)裡的一個基元值n定義方式n列舉n範圍n格式n資料型態40資料庫系統鍵值限制n關聯可視為一個集合,所含值組必須相異nt1SK t2SKnSK:超鍵(superkey)n每個關聯至少存在一個SK41資料庫系統包含SK的屬性集合亦為SKnEx:Sid是一SK,所以包含Sid的屬性集合皆為SKName,Sid、Sid,Tel_num、Sid,Name,Agen鍵值屬性可以用來確認關聯中的唯一的值組n鍵值是由關聯綱要中屬性的意義來決定NameSidTel_numSexAge張大森s0023047111111男生22陳小東s0052047112235女生25林中正s0043047223344男生2342資料庫系統主鍵(Primary Key)的產生n鍵值是一個最小的SuperKeyn若有一個以上的鍵值,則每一個鍵值都稱為是一個候選鍵(Candidate Key)n必須從Candidate Key中選擇一個作為主鍵(Primary Key)n主鍵的特性n唯一性n最小性43資料庫系統關聯式資料模型的限制n定義域限制n鍵值限制n實體完整性限制n參考完整性限制與關聯中的主鍵(PK)有關44資料庫系統鍵值限制與實體完整性n鍵值限制(Key Constraint)n主鍵值不能重複n實體完整性(Entity Integrity Constraint)n主鍵值不能有空值45資料庫系統參考完整性n若一個關聯滿足定義域限制、鍵值限制、與實體完整性限制,我們只也能相信個別的關聯本身是合理的,但並無法保證關聯與關聯之間的資料狀態是一致的n參考完整性限制是指定在兩個關聯之間,用以維持兩個關聯值組的一致性46資料庫系統外鍵與參考nR1的外鍵FK(Foreign Key)nFK的屬性與另一關聯綱要R2的Primary Key有相同的定義域(FK 參考R2)nR1的值組t1中的FK可以和R2的某一值組t2 的PK相符,或是空值t1FK =t2PK47資料庫系統參考完整性nFK的屬性值必須在所參考之關聯的PK屬性中被找到,或者為Nulln關聯式資料庫之參考完整性限制,藉由FK與PK間的參考關係,以達到關聯表之間的一致性48資料庫系統EMPLOYEE.Dno 與 DEPARTMENT.Dnum 之間的一致性EidNameAgeSexDnoe1張三28男生1e2李四33女生1e3王五24男生3Dnum DnameLocation1行政台北3研發新竹EMPLOYEEDEPARTMENT49資料庫系統若一員工不屬任何部門時,EMPLOYEE.Dno 可以是空值Dnum DnameLocation1行政台北3研發新竹EMPLOYEEDEPARTMENTEid NameAgeSexDnoe1張三28男生1e2李四33女生1e3王五24男生3e4陳七31女生50資料庫系統限制的實作n使用DDL指定限制create table orders (no int not null,id int not null,quantity int,odate datetime default getdate(),/*以系統日期及時間為odate的初值*/primary key(no,id,odate),/*宣告複合欄位(no,id,odate)為主鍵*/foreign key(no)references bookstores,foreign key(id)references books,check(quantity0 and quantity5001)/*設定quantity值的限制條件*/51資料庫系統資料庫系統Database SystemsFunctional Dependencies and Normalization52資料庫系統重要觀念n良好的語意n減少tuple的重複值n減少tuple的空值n不允許假值組(Spurious Tuples)的存在53資料庫系統語意設計上的優劣n設計易於解釋的Scheman一個實體僅描述單一意義,勿結合多個於一關聯n不良的設計ENAME EIDSEXTELDNUMDNAME DMGREMP_DEPT54資料庫系統tuple的重複值問題ENAMEEIDSEXTELDNUMDNAMEDMGR陳花依E1女生71111111行政E1林大城E2男生71111121行政E1陳富強E3男生71111132研發E3張珠珠E4女生71111142研發E3莊勝為E5男生71111153生產E5EMP_DEPT55資料庫系統減少tuple的空值EIDENAMEADDRESSTELPNOPNAMEE1陳花依TAIPEI1234561PROJ_1E2林大城2E3陳富強HOUSTON6543213PROJ_3E2林大城3PROJ_356資料庫系統不允許假值組的存在n適當地分割關聯可以有效減少空間的浪費,並藉由正規化與關聯式運算(處理)來維持資料的完整性並滿足各項操作n假值組的問題,係因不良的關聯表格切割所導致n關聯表的分割必須考量FK與PK57資料庫系統我們可以由 分割成,但無法由回覆成原來的 EIDPNOHOURENAMEPNAMEPLOCE1132陳花依Proj1TPE127陳花依Proj2CHE2340林大城林大城Proj3CHE3120陳富強Proj1TPE4220張珠珠Proj3KSEIDPNOHOURPNAMEPLOCE1132Proj1TPE127Proj2CHE2340Proj3CHE3120Proj1TPE4220Proj3KSENAMEPLOC陳花依TP陳花依CH林大城CH陳富強TP張珠珠KS58資料庫系統Functional Dependenciesn功能相依n是資料庫的兩個屬性集合的限制n關聯表分割的重要參考依據n表示法(XY)與意義nRelation R 中的任意兩個tuples t1與t2,若t1X=t2X,則使得t1Y=t2YnTuple中attribute Y的值是依靠X來決定n稱為X到Y的功能相依,或Y功能相依於XnX X可以決定可以決定Y Y59資料庫系統XYnXY iff r(R)的X值相同,則Y值必定相同nKey pointsn若一關聯不存在超過一個以上的X值,則表示X是一個Candidate Keyn若 XY 並不表示 YX 成立n功能相依是一屬性語意的特性n功能相依無法從特定的關聯中推論得到60資料庫系統功能相依性 與(非)主要屬性n在Relation R 中,若一Attribute(s)為任意R 的成員(每一Tuple都有該屬性),此Attribute(s)稱為主要屬性,否則則稱為非主要屬性nEID與PNO為EMP_PROJ的主要屬性,其餘屬非主要屬性EIDPNOHOURENAMEPNAMEPLOCfd1fd2fd3EMP_PROJ61資料庫系統正規化n第一正規化型式(1NF)by E.F.Coddn第二正規化型式(2NF)by E.F.Coddn第三正規化型式(3NF)by E.F.Coddn廣義 3NFBCNF(Boyce/Codd Normal Form)n第四正規化型式(4NF)by R.Faginn第五正規化型式(5NF)by R.Fagin又稱為 Projection/Join Normal Form(PJ/NF)62資料庫系統1NFn1NF:所有屬性定義域僅含基元值(Atomic)(不能有複合屬性/多值的存在)不符合1NFnDLOCS的定義域包含基元值,但某些值組包含這些值組的集合nDLOCS屬性並非基元值DNUMDNAMEDMGRDLOCS1行政E1TP,CH,TC2研發E3TP3生產E5KSDEPARTMENT63資料庫系統non-1NF分割 (Case1)n將違反1NF的屬性從原來的關聯中刪除,並與主鍵放到一個個別的關聯DEPARTMENTDEPT_LOCATIONSDNUMDNAMEDMGRDLOCSDNUMDLOCDNUMDLOC1TP1CH1TC2TP3KS64資料庫系統1NFn1NF不允許有複合屬性的存在,這些屬性本身是屬於多值n巢狀關聯:一個值組有一個關聯存在nPNO為巢狀關聯PROJS的部份主鍵EIDENAMEPROJSPNOHOURSEIDENAMEPNOHOURSE1陳花依13227E2林大城340E3陳富強120212E4張珠珠21431410142014E5莊勝為30312010EMP_PORJ65資料庫系統non-1NF分割EIDENAMEPNOHOURSEIDENAMEEIDPNOHOURS主鍵與部份主鍵形成新關聯的主鍵EMP_PORJ1NF(Case2)66資料庫系統2NFn2NF是以完全功能相依為基礎n完全功能相依n若XY為完全功能相依,則從X中移除任一屬性A,將使得此功能相依性不再成立nEID,PNO HOUR (完全相依)nEID ENAME (去掉EID後不滿足相依性)nPNO PNAME,PLOC(去掉PNO後不滿足相依性)nEID,PNO ENAME (不滿足完全相依性,部份相依)EIDPNOHOURENAMEPNAMEPLOCfd1fd2fd3EMP_PROJ67資料庫系統2NFn2NFn若關聯R中的每一個非主要屬性是完全功能相依於R的Primary Key則稱Relation R屬於2NFnnon-2NF的處理nNon-2NF的Relation可以進一部被分解成多個2NF的Relationsn所產生的新關聯將只有非主要屬性與在主鍵內其完全功能相依完全功能相依的部份68資料庫系統2NFEIDENAMEEIDPNOHOURENAMEPNAMEPLOCPNOPNAMEPLOCfd1fd2fd3EMP_PROJEIDPNOHOURfd1fd2fd32NF69資料庫系統3NF 概念基礎n3NF是以遞移相依性為基礎n遞移相依性nZ不屬於任何鍵值的子集合,且XZ,ZY成立 DNUM不屬於任何鍵值的子集合,且 EIDDNUM,DNUMDNAME,DMGR成立 存在遞移相依 (不符合3NF)ENAMEEIDSEXTELDNUMDNAMEDMGREMP_DEPT70資料庫系統3NF 定義nRelation R 是3NF:Relation R 是2NF且沒有非主要屬性是遞移相依於主鍵nNon-3NF的Relation可以進一部被分解成多個3NF的Relationsn所產生的新關聯將只有非主要屬性及與其完全功能相依的部分71資料庫系統3NF ENAMEEIDSEXTELDNUMDNUMDNAMEDMGR員工部門ENAMEEIDSEXTELDNUMDNAMEDMGREMP_DEPT3NF72資料庫系統Boyce-Codd正規式(BCNF)nBCNF比3NF更嚴格,BCNF成立3NF一定成立,但3NF不一定屬於BCNFnBCNF的定義n在Relation R中每一個功能相依XA都滿足X是R的Super KeynExamplenCNAME=M,LnASIZE=0.5、0.6、0.7、0.8、0.9、1.0則CNAME=MnASIZE=1.1、1.2、2.0則CNAME=Ln則存在一個FD:ASIZE CNAMEn假設有數千筆Tuples73資料庫系統3NF BCNFnLOTS依舊符合3NF,但其實CNAME只有 M與L兩種值P_IDLOTASIZECNAME的值將從數千筆減少到十幾筆ASIZECNAMEP_IDCNAMELOTASIZELOTSBCNF74資料庫系統資料庫系統Database SystemsSQL 語法語法75資料庫系統CIDintPIDintODATEdatetimeQUANint112005/07/0150122005/07/0230132005/07/0320142005/08/0430152005/08/0540262005/08/0150212005/09/0260322005/09/0120332005/11/0330442005/11/0420452005/12/1110562005/12/2140PIDintPNAMEcharCOLORcharPRICEint1襯衫紅色1002長褲藍色2003長褲紅色3004長褲紅色4005襯衫水藍色5006襯衫綠色6007長褲淺綠色7008長褲深藍色800CIDintNAMEcharRANKintAGEint1ALEX1152BOB2123CATHY3254DAVIE2335ELLA124CUSTOMERORDERSPRODUCT資料庫範例76資料庫系統資料庫的建立與刪除nCreate Databasen語法:Create database 資料庫名稱n範例:Create database saledbnDrop Databasen語法:Drop database 資料庫名稱n範例:Drop database saledb77資料庫系統關聯表的建立與刪除n建立客戶(CUSTOMER)關聯表Create table customer(cid int not null,name varchar(50),rank int,age int,primary key(cid)n建立商品(PRODUCT)關聯表Create table product(pid int not null,pname varchar(50),color varchar(10),price int,primary key(pid)78資料庫系統關聯表的建立與刪除n建立交易(ORDERS)關聯表Create table orders(cid int not null,pid int not null,odate datetime default getdate(),quan int,primary key(cid,pid,odate),foreign key(cid)references customer,foreign key(pid)references product)n刪除關聯表n drop table 關聯表名稱79資料庫系統SQL-DMLn資料的新增n資料擷取(查詢)n資料修改n資料刪除80資料庫系統INSERTn指令 INSERT INTO 關聯表(欄位1,欄位2,欄位3)VALUES(值1,值2,值3)nEx1:insert into customer (cid,name,rank,age)VALUES (1,ALEX,1,15)nEx2:INSERT INTO product (pid,pname,price)VALUES (1,襯衫,100)nEx3:INSERT INTO orders (cid,pid,quan)VALUES (1,1,50)81資料庫系統資料擷取(查詢)select all distinct top|as from where|group by having order by|82資料庫系統SQL QUERYn基本組成nSELECT nFROM nWHERE nEx1:擷取年紀大於20歲的客戶姓名與年紀 SELECT NAME,AGEFROM CUSTOMERWHERE AGE20CIDintNAMEcharRANKintAGEint1ALEX1152BOB2123CATHY3254DAVIE2335ELLA124CUSTOMERNAMEAGECATHY25DAVIE33ELLA2483資料庫系統SQL QUERYnEx2:擷取所有商品編號與品名屬性 SELECT PID,PNAMEFROM PRODUCT nEx3:擷取所有價格低於500元且顏色屬於紅色的商品項目資訊 SELECT *FROM PRODUCTWHERE PRICE40 SELECT NAME,PID,QUANFROM CUSTOMER C,ORDERS OWHERE C.CID=O.CID AND QUAN40 nEx5:擷取所有屬於CATHY客戶的交易,列出這些交易的商品名稱,價格,與交易量 SELECT PNAME,PRICE,QUANFROM CUSTOMER C,ORDERS O,PRODUCT PWHERE C.CID=O.CID AND O.PID=P.PID AND NAME=CATHY85資料庫系統DISTINCT 與 IN 的用法nEx6:擷取客戶等級的類型 SELECT DISTINCT RANKFROM CUSTOMERnEx7:擷取曾經銷售過的書籍編號 SELECT DISTINCT PIDFROM ORDERSnEx8:擷取屬於1,3,或5號客戶的交易紀錄,列出客戶編號與商品編號SELECT CID,PIDFROM ORDERSWHERE CID=1 OR CID=3 OR CID=5SELECT CID,PIDFROM ORDERSWHERE CID IN(1,3,5)86資料庫系統IN與巢狀查詢的應用nEx9:擷取所有交易量大於40的交易,列出這些交易的商品名稱,顏色與價格SELECT PNAME,COLOR,PRICEFROM PRODUCTWHERE PID IN(SELECT DISTINCT PIDFROM ORDERSWHERE QUAN40)87資料庫系統聚合函數(Aggregates)n聚合函數:Count,Sum,Avg,Max,Minn計算完後的結果只有一個答案nEx10:擷取所有商品中最大,最小,與平均之價格SELECT MAX(PRICE),MIN(PRICE),AVG(PRICE)FROM PRODUCTnEx11:擷取所有屬於ALEX客戶的交易之次數與總交易量SELECT COUNT(*),SUM(QUAN)FROM CUSTOMER C,ORDERS OWHERE C.CID=O.CID AND NAME=ALEXnEx12:屬於1號商品的交易共有幾筆,總交易量又是多少?SELECT COUNT(*)AS OTIMES,SUM(QUAN)AS OTOTALFROM ORDERS WHERE PID=188資料庫系統GROUP BY 與 HAVINGnGROUP BY具有群組化特性,而Having可用來篩選符合條件的Group,正如 Where 子句是用來篩選出符條件的值組nEx13:擷取各項商品的交易次數與總交易量SELECT COUNT(*),SUM(QUAN)FROM ORDERSGROUP BY PIDnEx14:擷取各項商品的交易次數與總交易量,列出總交易量高於55的商品交易次數與總交易量SELECT COUNT(*),SUM(QUAN)FROM ORDERSGROUP BY PIDHAVING SUM(QUAN)5589資料庫系統範例nEx15:擷取年紀低於18歲客戶的交易紀錄,求取各項商品的的總交易量,列出其中總交易量高於35的商品編號與總交易量SELECT PID,SUM(QUAN)FROM CUSTOMER C,ORDERS OWHERE C.CID=O.CID AND AGE18GROUP BY PIDHAVING SUM(QUAN)3590資料庫系統Like的敘述n%:以百分比符號表示零個或多個字元n :以底線符號表示任一個字元n僅適用於字元型態的屬性nEx16:擷取商品顏色屬性中,含有 藍 的商品名稱與價格SELECT PNAME,PRICEFROM PRODUCTWHERE COLOR LIKE%藍%nEx17:擷取姓名中第二個字母為 L 的客戶編號與姓名SELECT CID,NAMEFROM CUSTOMERWHERE NAME LIKE _L%91資料庫系統排序 ORDER BYn一般語法組成SELECT *FROM TABLEWHERE CONDITIONORDER BY ATTRIBUTE n排列方式nASC (由小至大)nDESC (由大至小)92資料庫系統排序 ORDER BYnEx18:擷取所有價格低於500的商品名稱與價格,並依價格由低至高排列輸出 SELECT PNAME,PRICEFROM PRODUCTWHERE PRICE 500ORDER BY PRICE ASCnEx19:擷取所有交易量低於55的交易紀錄,列出客戶編號,商品編號與交易量,並依交易量由高至低排列,若交易量相同時,則依客戶編號由小至大排列 SELECT CID,PID,QUANFROM ORDERSWHERE QUAN55ORDER BY QUAN DESC,CID ASC93資料庫系統UPDATEn指令 UPDATE 關聯表 SET 欄位1=值1,欄位2=值2 WHERE 條件nEx:將1號客戶的年紀修改為20歲UPDATE CUSTOMERSET AGE=20WHERE CID=1nEx:將2號客戶的姓名修改為XYZ並將年紀改為18歲UPDATE CUSTOMERSET NAME=XYZ,AGE=18WHERE CID=2CIDintNAMEcharRANKintAGEint1ALEX115(20)2BOB(XYZ)212(18)3CATHY3254DAVIE2335ELLA124CUSTOMER94資料庫系統UPDATEnEx:將年紀小於20的客戶等級都修改成1UPDATE CUSTOMERSET RANK=1 WHERE AGE500CIDintNAMEcharRANKintAGEint1ALEX1(1)152BOB2(1)123CATHY3254DAVIE2335ELLA124CUSTOMERPIDintPNAMEcharCOLORcharPRICEint1襯衫紅色1002長褲藍色2003長褲紅色3004長褲紅色4005襯衫水藍色5006襯衫綠色600(580)7長褲淺綠色700(680)8長褲深藍色800(780)PRODUCT95資料庫系統UPDATEnEx:所有購買過6號商品的客戶等級修改為5UPDATE CUSTOMERSET RANK=5WHERE CID IN (SELECT CID FROM ORDERS WHERE PID=6)CIDintPIDintODATEdatetimeQUANint112005/07/0150122005/07/0230132005/07/0320142005/08/0430152005/08/0540262005/08/0150212005/09/0260322005/09/0120332005/11/0330442005/11/0420452005/12/1110562005/12/2140CIDintNAMEcharRANKintAGEint1ALEX1152BOB2(5)123CATHY3254DAVIE2335ELLA1(5)24CUSTOMERORDERS96資料庫系統DELETEn指令 DELETE FROM 關聯表 WHERE 刪除條件nEx1:DELETE FROM CUSTOMERWHERE NAME=ELLAnEx2:DELETE FROM CUSTOMERWHERE CID=5CIDintNAMEcharRANKintAGEint1ALEX1152BOB2123CATHY3254DAVIE2335ELLA124CUSTOMER97資料庫系統DELETEnEx3:刪除所屬於BOB客戶的所有交易紀錄DELETE FROM ORDERSWHERE CID IN(SELECT CID FROM CUSTOMER WHERE NAME=BOB)nEx4:DELETE FROM ORDERSnEx5:DELETE FROM CUSTOMER98資料庫系統
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!