作业一USINGDBMS使用DB2及SQL基本练习.ppt_第1页
作业一USINGDBMS使用DB2及SQL基本练习.ppt_第2页
作业一USINGDBMS使用DB2及SQL基本练习.ppt_第3页
作业一USINGDBMS使用DB2及SQL基本练习.ppt_第4页
作业一USINGDBMS使用DB2及SQL基本练习.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作業一:USINGDBMS(使用DB2及SQL基本練習),報告人:學生楊群期學號:69421502,課程:高等資料庫講師:楊維邦教授,準備作業(下載DB2),DB2V8.2.2,Windowsfor32bitsystem,下載檔案,休息是為了走更長遠的路,安裝DB2,程式解壓縮Setup安裝完成(如右圖),建立資料庫,建立TEST資料庫,第一題:,writeanappropriatesetofSQLdefinitionsforthisdatabase.(Fig4.5)操作方式有:SQL指令精靈或圖型介面工具,工具/命令編輯區,使用SQL指令建立TABLE,createtableP(P#char(5)notnull,PNAMEchar(20),COLORchar(10),WEIGHTDECIMAL(6,1),CITYchar(15),primarykey(P#);createtableJ(J#char(5)notnull,JNAMEchar(20),CITYchar(15),primarykey(J#);,createtableS(S#char(5)notnull,SNAMEchar(20),STATUSsmallint,CITYchar(15),primarykey(S#);CREATETABLESPJ(S#CHARACTER(5)NOTNULL,P#CHARACTER(5)NOTNULL,J#CHARACTER(5)NOTNULL,QTYINTEGERNOTNULL,PRIMARYKEY(S#,P#,J#);,利用精靈或圖型介面工具建立TABLE,TABLE建立完成,輸入資料至TABLE,用SQL指令將各TABLE的資料值建立,Insertintosvalues(S1,Smith,20,London);Insertintosvalues(S2,Jones,10,Paris);Insertintosvalues(S3,Blake,30,Paris);Insertintosvalues(S4,Clark,20,London);Insertintosvalues(S5,Adams,30,Athens);Insertintopvalues(P1,Nut,Red,12,London);Insertintopvalues(P2,Bolt,Green,17,Paris);Insertintopvalues(P3,Screw,Blue,17,Rome);Insertintopvalues(P4,Screw,Red,14,London);Insertintopvalues(P5,Cam,Blue,12,Paris);Insertintopvalues(P6,Cog,Red,19,London);InsertintoJvalues(J1,Sorter,Paris);InsertintoJvalues(J2,Display,Rome);InsertintoJvalues(J3,OCR,Athens);InsertintoJvalues(J4,Console,Athens);InsertintoJvalues(J5,RAID,London);InsertintoJvalues(J6,EDS,Oslo);InsertintoJvalues(J7,Tape,London);,利用精靈或圖型介面工具建立資料,完成Fig4.5,第二題:,whatadditionalCREATETABLEoptionsdosethatproductsupport?資料庫的種類很多,較常提及的有:IBM公司DB2甲骨文公司ORACLE微軟公司SQLSERVER其他如MYSQL,SYBASE.雖各家發展資料庫延伸功能各異,但基本上都會提供一些相同的功能,CREATETABLESYNTAX,不論何種公司發展的資料庫,一般而言建立表格的基本指令格式區分以下幾類:表格名稱欄位描述儲存參數設定其他參數設定限制條件,整理自:儒林出版精鍊Oracle8/8i資料庫系統與應用(第5章),表格名稱,在同一資料庫中不得定義重覆名稱表格名稱有長度的限制不包含引號不區分大小寫必需以字母開頭字元內容的限制(AZ,09,$,#,.,),欄位描述(欄位名/類型/長度),CHAR(N)固定長字元串,N位元長VARCHAR2(N)變動字元串,最長NLONG(N)長變動字元,最長NDATE日期/時間欄位NUMBER(P,S)數字欄位,全部P,小數點後SRAWORLONGRAW二進位儲存MLSLABEL安全級別(ORACLE自設),儲存參數設定,STORAGE子句用來控制分配給表格的儲存空間大小MINEXTENTS參數分配的區間,預設是1MAXEXTENTS參數擁有的最大區間數儲存參數設定TABLESPACE定義表格放在那個表空間中PCTEFREE區塊內預留的空的空間百分比,預設是10%PCTUSED區塊內已使用空間最小百分比,預設是40%PARLLLEL加速對表格掃描可以使用的併行查詢行程個數CHCHE指明該表格經常被存取CLUSTER指明該表格放置在叢集中,其他參數設定,INITRANS指定表格的每一資料區塊分配的行程個數值MAXTRANS指定可同時修改表格的資料區塊的最大行程數RECOVERABLE指定表格可還原UNRECOVERABLE指定表格不可還原AS子查詢將子查詢回捲的記錄插入到所建立的表格中,限制條件,CHECK確保值在一定範圍內DEFAULT在欄位內放入預設值NOTNULL在欄位內保持一個值PRIMARYKEY不得為空值且該值是唯一值FOREIGNKEY該值依附另一表格的主鍵值UNIQUE確保該值對於表格是唯一的,例如:MYSQLCREATETABLESyntax,CREATETEMPORARYTABLEIFNOTEXISTStbl_name(create_definition,.)column_definitiontypetable_optionsselect_statementoption,ref:,第三題:,Dosthatproductsupporttheinformationschema?Ifnot,whatdoesitscatalogsupportlooklike?schema以醫院醫療資訊系統(HIS)膳食系統為例Catalog,各層的資料定義稱為綱要(Schema),外部層(ExternalLevel):則代表使用者所看到的部份。概念層(ConceptualLevel):為內部層與外部層之間的橋樑。此部份為資料庫管理師所看到的部份內部層(InternalLevel):所代表的是實際儲存資料的結構。,以醫院醫療資訊系統(HIS)膳食系統為例外部層(ExternalLevel):,檔案名稱:FOD102膳食履歷資料檔FOD107膳食基本資料檔FOD108伙食身份及請款單位代碼可輸入病床號碼、病歷號碼、身份證號,將住院病患每日之膳食起伙止伙等資料,如日期、時間、原因等輸入後,再作新增或修改之動作。來查詢膳食基本資料檔。,以醫院醫療資訊系統(HIS)膳食系統為例概念層(ConceptualLevel),以醫院醫療資訊系統(HIS)膳食系統為例內部層(InternalLevel),系統目錄(SystemCatalog),系統目錄存放著:系統中有那些資料表(Table)、各資料表中含有哪些綱要內容、資料的統計結果、各資料表的擁有者(Owner)資料,可供哪些使用者使用資料、各個視界(Views)等等。“Dataaboutdata,第四題:SQL操作,A:insertanewsupplierS10intotableS.thenameandcityareSmithandNewYork,respectively;thestatusisnotyetknown.B:changethecolorofallredpartstoorange.C:deleteallprojectsforwhichtherearenoshipments.,A:insertS10,Smith,NewYorkintotableS.,INSERTINTOS(S#,SNAME,CITY)VALUES(S10,Smith,NewYork);,B:changethecolorofallredpartstoorange,UPDATEPSETCOLOR=OrangeWHEREP.COLOR=Red;,C:deleteallprojectsforwhichtherearenoshipments,第五題,writeaprogramwithembeddedSQLstatementstolistall.(Fig4.5)EmbededSQL是普通的程式語言中加入資料庫語言的一種複合式語言。為了區分資料庫語言和程式語言的差別,在每個資料庫語言之前必須加一些關鍵字EXECSQL。因為此語言穿插著普通語言和資料庫的語言,所以必須經過前處理(precompilerprocess)把資料把資料庫語言轉換成普通語言的程式碼,然後才可利用普通語言編譯器來編譯成可執行檔。,實作,#include#include#include#includevoidmain()EXECSQLINCLUDESQLCA;EXECSQLBEGINDECLARESECTION;charmsgbuffer500;chardbname7=TEST;/*Nameofdatabase*/chars5;charsname20;smallintstatus;charcity20;EXECSQLENDDECLARESECTION;EXECSQLCONNECTTO:dbname;EXECSQLDECLARECSCURSORFORSELECTS#,SNAME,STA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论