IT入門-數據庫基礎_第1頁
IT入門-數據庫基礎_第2頁
IT入門-數據庫基礎_第3頁
IT入門-數據庫基礎_第4頁
IT入門-數據庫基礎_第5頁
已閱讀5頁,還剩48頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、IT 入門數據庫基礎大連理工大學軟件學院2012-6-19提綱1 數據庫基礎 2 SQL語言1數據庫基礎1.1 基本概念1.2 數據模型1.3 關系模型1.4 數據庫系統結構1.1 基本概念數據(Data)描述事物的符號記錄。如數字,文字,圖形,圖像,聲音,語言等。數據庫(DataBase,簡稱DB)長期儲存在計算機內的、有組織的、可共享的數據集合。數據庫管理系統(DataBase Management System,簡稱DBMS)位于用戶與操作系統之間的一層數據管理軟件。主要功能:1、數據定義:(Data Definition Language)2、數據操作;(Data Manipulati

2、on Language)3、數據庫的運行管理;(安全,完整,并發,故障恢復)4、數據庫的建立和維護功能。(初始數據,數據庫轉儲、恢復,數據庫重組織、性能監視、分析等)數據庫系統(DataBase System,簡稱DBS)引入數據庫后的計算機系統。一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成。用戶用戶用戶應用系統應用開發工具數據庫管理系統操作系統數據庫數據庫管理員數據庫系統1.2 數據模型(Data Model)認識抽象信息世界現實世界機器世界概念數據模型基本數據模型數據抽象過程數據模型基本概念概念數據模型是現實世界數據特征的抽象。用來抽象、表示和處理現實世界

3、中的數據和信息。數據模型的要求能比較真實地模擬現實世界;容易為人所理解;便于在計算機上實現。分類概念數據模型(也稱信息模型)基本數據模型數據模型三要素數據結構;數據操作;數據的完整性約束。概念數據模型實體聯系模型(Entity-Relationship Model)1976年,P.P.Chen提出。組成:矩形框,令形框,橢圓形框,線段。聯系類型:1:1,1:N,M:N。E-R圖構件矩形:表示實體集橢圓:表示屬性菱形:表示聯系集線段:實體集間或實體集與聯系集間的連接。基本概念實體(Entity)客觀存在并可以相互區別的事物。如人、事物、訂貨。屬性(Attribute)實體具有的某一特性。如學生的

4、學號、姓名、性別。碼(Key)唯一標識實體的屬性集。如學生的學號。域(Domain)屬性的取值范圍。如性別的域為(男、女)實體型(Entity Type)用實體名及其屬性名集合來抽象和刻畫同類實體。如學生(學號,姓名,性別,出生年月,系,入學時間)實體集(Entity Set)同型實體的集合。聯系(Relationship)不同實體集之間的聯系。分類:一對一(1:1)一對多(1:n)多對多(m:n)課程教員授課1m參考書n供應商項目供應pm零件n職工領導1n實體型A實體型B聯系名11實體型A實體型B聯系名1n實體型A實體型B聯系名mn供應商供應商號工作倉庫零件項目職工地址賬號電話號碼倉庫號姓名

5、面積職稱姓名電話號預算年齡職工號供應領導庫存開工日期項目號單價名稱描述規格零件號供應量庫存量nnpmm1n1n工廠物資管理E-R圖基本數據模型四種最常用的數據模型層次模型(Hierarchical Model)代表系統:IBM的IMS,阿波羅登月。網狀模型(NetWork Model)代表系統:GE的IDS,后DBTG數據庫標準。關系模型(Relational Model)代表系統:Oracle,Sybase,DB2面向對象模型(Object Oriented Model)比如Gemstone,Objectivity/DB,ObjectStore1.3 關系模型1970年IBM公司San Jo

6、se研究室的E.F.Codd提出。關系模型是目前最重要的一種數據模型,它建立在嚴格的數學概念的基礎之上,數學基礎是關系代數。數據結構關系:數據的邏輯結構是一張二維表,由行列組成。學生成績登記表示例學號姓名年齡性別系別年級200001王小明19女社會學2000200081黃大鵬20男計算機2000200030張文斌18男法律系2000關系模型關系操作與完整性約束關系操作數據定義:定義關系數據結構及其他對象。數據查詢:支持數據檢索。數據更新:數據的增、刪、改操作。權限控制:防止數據的越權訪問。注:提供關系操縱語言實現。完整性約束:實體完整性;參照完整性;自定義完整性術語關系(Relation):一

7、個關系對應通常說的一張表。元組(Tuple):表中的一行。屬性(Attribute):表中的一列成為一個屬性。每個屬性需有一個名稱,即屬性名。候選碼:表中的某個屬性組,可以唯一確定一個元組。主碼(Key):選定的一個候選碼,用于確定元組。超碼:候選碼的超集。域(Domain):屬性的取值范圍。分量:元組中的一個屬性值。關系模式:對關系的描述。關系名(屬性1,屬性2,屬性)關系模型要求1NF;2NF;3NF;BCNF;4NF存儲結構邏輯上:實體與聯系都用表來表示。物理上:以文件的形式存儲。關系模型的特點優點有嚴格的數學基礎。概念單一。實體、聯系、檢索結果都用關系表示。存取路徑對用戶透明。具有很高

8、的數據獨立性和安全保密性。缺點查詢效率往往不如非關系數據模型。常用的關系數據庫管理系統OracleIDC 2007年調查,Oracle占據了44.1%的市場份額。IBM為21.3%,微軟為18.3%。世界上十個最大的 UNIX OLTP 網站全部運行于 Oracle 上 。 SybaseSybase公司的數據庫產品。其他數據庫DB2InformixMS SQL ServerMySqlPostgreAccess概念模型與關系模型轉換實體-關系(表)屬性碼聯系-關系(表)屬性碼系(系號,系名,電話,系主任號)系主任(工作證號,姓名,年齡)領導系主任系111:1聯系系主任(系號,工作證號,姓名,年齡

9、)系(系號,系名,電話)主鍵主鍵外鍵外鍵包括系學生1N學生(學號,姓名,性別,系號)系(系號,系名,電話,系主任)1:N聯系選課學生課程MN學生(學號,姓名,性別,系號)課程(課號,課名,學分)選課(學號,課號,成績)成績M:N聯系職工領導1n職工(職工號,姓名,年齡,領導)供應供應商零件項目mpn供應量供應(供應商,項目,零件,數量)關系的類型基本關系實表視圖虛表臨時表1.4 數據庫系統結構應用A應用B應用C應用D應用E外模式1外模式2外模式3模式內模式數據庫內模式/模式映象外模式/模式映象數據庫系統的三級模式結構數據庫系統結構-用戶角度Web服務器數據庫服務器企業內部企業外部內部局域網C/

10、S結構C/S結構B/S結構B/S結構Internet查詢和瀏覽工作站修改和維護工作站查詢和瀏覽工作站修改和維護工作站Internet用戶模式的概念數據庫系統的結構從DBMS角度看,三級模式結構。(內部系統結構)從最終用戶角度看,分集中式、分布式、客戶/服務器和并行結構。(外部體系結構)模式(Schema)數據庫中全體數據的邏輯結構和特征的描述。(僅僅涉及型的描述,不涉及值)實例(Instance)模式的一個具體值。數據庫系統三級模式結構外模式、模式、內模式。2 SQL語言SQL數據定義語言SQL數據操縱語言SQL數據查詢語言2.1數據庫定義命令ACCESS支持的數據類型基本表定義基本表的創建基

11、本表的刪除2.1.1 ACCESS的數據類型Microsoft Access data types, data types used to create tables, and ODBC SQL data types. 數據類型說明Char(size)存放定長字符數據,最長2000個字符Nchar(size)與char類型相似,最大長度可達4000字節。Varchar2(size)存放可變長字符數據,最大長度為4000個字符。Nvarchar2(size)類似于varchar2,可以用在所有的字符集中Varchar同varchar2,建議不使用。Number(l,d)數值型數據,l代表總長度,

12、d代表小數位數。Blob二進制大對象,長度(4G-1)*database block sizeRaw(size)純二進制數據,最大2000字節Date 日期型。公元前4712年1月1日到公元9999年12月31日Long存放長字符串數據,最大2G.Microsoft Access data types, data types used to create tables, and ODBC SQL data typeslimitations on Microsoft Access data types. limitations on Microsoft Access data types. 使用

13、SQL語句查詢設計SQL視圖SQL語句使用SQL語句2.1.2基本表定義基本表的創建一般格式:CREATE TABEL (列級完整性約束條件,列級完整性約束條件,表級完整性約束條件;說明建表的同時可以定義與該表有關的完整性約束,這些約束條件被存入系統的數據字典中,當用戶操作表時,DBMS會自動檢查該操作是否有違背完整約束條件.建立約束的考慮:如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上;否則既可以定義在列級上也可以定義在表級上。表名、列名是不區分大小寫的。對一個用戶而言,表名必須唯一;一個表中,列名必須唯一。表名可包括任意合法字符,長度不超過64個字符。2.1.2基本表定義基本

14、表的創建例CREATE TABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20) UNIQUE,Ssex CHAR(1),Sage NUMERIC,Sdept CHAR(15),CONSTRAINT PRI_STUDENT PRIMARY KEY(Sno);Primary keycreate table Student(Sno char(9) PRIMARY KEY,Sname char(20) not null,Ssex char(2),Sage smallint,Sdept char(20);create table SC(Sno c

15、har(9) not null,Cno char(4) not null,Grade Smallint,Primary key(Sno,Cno);create table Student(Sno char(9),Sname char(20) not null,Ssex char(2),Sage smallint,Sdept char(20),PRIMARY KEY(Sno);create table Course(cno char(10),cname varchar(20),constraint pk_course primary key (cno);Foreign keycreate tab

16、le SC(Sno char(9) not null,Cno char(4) not null,Grade Smallint,Primary key(Sno,Cno),Foreign key(Sno) references Student(Sno),Foreign key(Cno) references Course(Cno);2.1.3基本表刪除一般格式:DROP TABLE ;說明基本表一旦刪除,表中的數據、此表上建立的索引和視圖都將自動被刪除。例刪除STUDENT表。DROP TABLE STUDENT;2.2數據操縱語言INSERT 語句UPDATE語句DELETE語句2.2.1 IN

17、SERT 語句插入單個元組 格式:INSERT INTO (,)VALUES (,); 注意:對表定義時說明了NOT NULL約束的屬性列,必須給值而不能為空值,否則會出錯。如果INTO子句中沒有指明任何列名,則新插入的記錄必須在每個屬性列上均有值(即給定的值與定義的屬性個數必須項等且賦值相容)。字符型和日期型數據在插入時要加單引號。例Insert into student values(201201,張三,男,30,軟件工程);2.2.2 UPDATE語句修改某一個元組的值格式:UPDATE SET =,=WHERE;例update student set sname=李四 where sn

18、o=201201;2.2.3 DELETE語句刪除某一個元組的值格式:DELETEFROMWHERE;例刪除名字為李四的學生信息.Delete from student where sname=李四;刪除多個元組的值例刪除student表中的所有數據.Delete from student;2.3SQL數據查詢語言 查詢語句的一般結構單表查詢多表查詢2.3.1查詢語句的一般結構命令: SELECT格式:SELECT ALL|DISTINCT,FROM ,WHERE GROUP BY HAVINGORDER BY ASC|DESC;描述:根據WHERE子句的條件表達式,從FROM子句指定的本表中

19、找出滿足條件的元組,再按SELECT子句中的目標列表達式,選出元組中的屬性值形成結果表。如果有GROUP BY子句則將結果按的值進行分組,該屬性列相等的元組為一個組。通常會在每組中作用集函數。如果GROUP子句帶有HAVING短語,則只有滿足指定條件的組才予輸出。如果有ORDER BY子句,則結果表還要按的值升序或降序排列。2.3.2單表查詢選若干元組 查詢滿足條件的元組 WHERE常用的查詢條件查詢條件謂詞比較=,=,=,!=,!,!;NOT+上述比較運算符確定范圍BETWEEN AND,NOT BETWEEN AND確定集合IN,NOT IN字符匹配LIKE,NOT LIKE空值IS NU

20、LL,IS NOT NULL多重條件AND,OR2.3.2單表查詢選若干元組 查詢滿足條件的元組 比較 例: select sno,sname from student where ssex=男;查詢滿足條件的元組 確定范圍謂詞BETWEEN AND與NOT BETWEEN AND的一般格式為NOT BETWEEN AND 查詢屬性值在(或不在)指定范圍內的元組。其中為范圍的下限(低值),為范圍的上限(高值)。選出的元組包括邊界與,要求a=b。 例: select * from student where sage between 18and 20;查詢滿足條件的元組 確定集合謂詞IN可以用來查找屬性值屬于指定集合的元組。例: select * from student where sage in (19,20);2.3.2單表查詢選若干元組 查詢滿足條件的元組 字符匹配謂詞LIKE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論