7第四、五 章sql 語言基本知識及數(shù)據(jù)庫和表的創(chuàng)建_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、關系數(shù)據(jù)庫與SQL語言——關系數(shù)據(jù)庫與SQL Server 2008,目 錄,第1章 數(shù)據(jù)庫基礎第2章 關系庫的基本理論第3章 數(shù)據(jù)庫設計第4章 Transact-SQL語言和SQL SERVER 2008第5章 數(shù)據(jù)庫和表的創(chuàng)建第6章 數(shù)據(jù)庫的查詢和視圖第7章 存儲過程和觸發(fā)器第8章 數(shù)據(jù)庫應用實戰(zhàn),課前回顧,數(shù)據(jù)庫設計3.1 數(shù)據(jù)庫設計概述3.2 需求分析3.3 概念結

2、構設計(重點)3.4 邏輯結構設計(重點)3.5 -3.7 物理設計,數(shù)據(jù)庫實施,數(shù)據(jù)庫運行與維護,本堂內(nèi)容,第四章:T-SQL語言4.1 SQL語言基本知識4.2.1 數(shù)據(jù)類型第五章:數(shù)據(jù)庫和表的創(chuàng)建5.1 命令方式創(chuàng)建數(shù)據(jù)庫和表(重難點),4.1 SQL語言基本知識,SQL是結構化查詢語言(Structured Query Language),是一種使用關系模型的數(shù)據(jù)庫應用語言。目前,絕大多數(shù)流行的關系數(shù)據(jù)庫管理系統(tǒng)

3、,如Oracle,Sybase,Microsoft SQL Server 和DB2等 都采用SQL語言標準。,4.1.1 SQL基本概念 --SQL中的基本術語,,,4.1.2 SQL特點,高度非過程化 用戶只需提出“做什么”,無須告訴“怎么做”,不必了解存取路徑。兩種使用方式,統(tǒng)一的語法結構 SQL既是自含式語言(用戶使用),又是嵌入式語言(程序員使用)。語言簡

4、潔,易學易用,4.1.3 SQL語言的分類,4.1.4 T-SQL語言簡介,同任何程序語言一樣,T-SQL語言有自己的數(shù)據(jù)類型,表達式,關鍵字和語句結構。1.標識符2.對象命名規(guī)則,標識符,標識符是一個同用戶定義的,SQL可識別的,有意義的字符序列。(1)標識符可以由1-30個字符組成(2)第一個字符必須為字母,下劃線, @或#(3)默認情況下,標識符內(nèi)不允許有空格,也不允許將關鍵字作為標識符,對象命名規(guī)則,一個對象的完整名

5、稱包括4個標識符:服務器名,數(shù)據(jù)庫名,所有者名和對象名 server.database.owner_name.object_name,4.2 T-SQL 表達式 ---數(shù)據(jù)類型,4.2.1 數(shù)據(jù)類型 數(shù)據(jù)類型是指用于存儲,檢索及解釋數(shù)據(jù)值類型的預先定義的命名方法 ,它決定了在計算機中的存儲格式,代表了不同的信息類型。,常用數(shù)據(jù)類型,字符類型:c

6、har,varchar()精確數(shù)類型:decimal,numeric整數(shù)類型:int,smallint,tinyint,bigint日期時間類型:datetime,date,time貨幣類型:money……具體請同學們參看P64 表4-1,第五章 數(shù)據(jù)庫和表的創(chuàng)建,數(shù)據(jù)庫是SQL 用來存儲表,視圖等對象的邏輯實體。一個數(shù)據(jù)庫包含兩種文件,一種是數(shù)據(jù)文件,用于存儲數(shù)據(jù)庫中的所有對象,如表,視圖等。另一種是日志文件,用于記錄對

7、數(shù)據(jù)庫的所有修改操作。本堂課主要介紹如何使用命令方式創(chuàng)建,修改,刪除數(shù)據(jù)庫和表。,數(shù)據(jù)庫文件組成,主數(shù)據(jù)文件數(shù)據(jù)庫的起點,通常擴展名為.mdf,用來存儲數(shù)據(jù)庫的啟動信息和部分或全部數(shù)據(jù)輔助數(shù)據(jù)文件包含主要數(shù)據(jù)文件外的其他數(shù)據(jù)文件,通常擴展名是.ndf事務日志文件包含恢復數(shù)據(jù)庫所需的所有日志信息,通常擴展名是.ldf,數(shù)據(jù)庫文件組成,數(shù)據(jù)庫文件的文件名默認情況下主數(shù)據(jù)文件名為:數(shù)據(jù)庫名.mdf 事務日志文件名為:數(shù)據(jù)庫名

8、_Log.ldf用戶自定義數(shù)據(jù)庫文件的存放位置默認情況下,存放在:c:\program files\ Microsoft SQL Server\ MSSQL.1\ MSSQL\ data\用戶自定義,數(shù)據(jù)庫的類型,5.1 命令方式創(chuàng)建數(shù)據(jù)庫和表,,5.1.1定義一個數(shù)據(jù)庫數(shù)據(jù)庫的名字(命名規(guī)則與標識符命名規(guī)則相同)數(shù)據(jù)庫的大小數(shù)據(jù)庫所在的文件,創(chuàng)建數(shù)據(jù)庫的方式,使用界面創(chuàng)建(熟悉)簡單、方便使用命令創(chuàng)建(掌握)命令

9、方式、較復雜但它是兼容語法,一旦學會它,可套用到其它數(shù)據(jù)庫系統(tǒng)中;在程序中執(zhí)行的某些動作必須使用命令,創(chuàng)建數(shù)據(jù)庫語法,CREATE DATABSE 數(shù)據(jù)庫名 [ ON [ PRIMARY ] ( [ NAME = 邏輯文件名,] FILENAME = ‘磁盤文件名' [,SIZE = 初始大小 ] [,MAXSIZE = 最大容量|unlimit

10、ed ] [,F(xiàn)ILEGROWTH = 增長量 ] ) [ , … n ] [,[ FILEGROUP ] (……) [ , … n ] ] [ LOG ON ( [ NAME = 邏輯文件名,] FILENAME = ‘ 磁盤文件名 ’ [,SIZE = 初始大小 ] [,MAXSIZ

11、E = 最大容量|unlimited ] [,F(xiàn)ILEGROWTH = 增長量 ] ) [ ,… n ],創(chuàng)建不指定文件的數(shù)據(jù)庫,用命令創(chuàng)建數(shù)據(jù)庫的格式CREATE DATABASE 數(shù)據(jù)庫名[ ON ][ LOG ON ]實例1:創(chuàng)建一個簡單數(shù)據(jù)庫。CREATE DATABSE mydb1,創(chuàng)建一個名為mydb1的數(shù)據(jù)庫,其大小與model的數(shù)據(jù)庫完全相同。,創(chuàng)建指定數(shù)

12、據(jù)文件和日志文件的數(shù)據(jù)庫,CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = ‘E:\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log, FILENAME = ‘D:\salelog.ldf', SIZE = 5MB, MAXS

13、IZE = 25MB, FILEGROWTH = 5MB ),數(shù)據(jù)庫刪除,命令格式Drop database 數(shù)據(jù)庫名 [,……n]實例:刪除數(shù)據(jù)庫Sales 。Drop database Sales 說明:當數(shù)據(jù)庫處于下列情況不能被刪除。當有用戶正在數(shù)據(jù)庫使用時。當數(shù)據(jù)庫正在被恢復時。當數(shù)據(jù)庫正在參與復制時。,5.1.2 定義基本表,數(shù)據(jù)表的類型設計表創(chuàng)建基本表修改基本表刪除表,,數(shù)據(jù)表的類型,系統(tǒng)表用于

14、存儲服務器的配置信息、數(shù)據(jù)表的定義信息的一組特殊表,稱為系統(tǒng)表。 用戶表已分區(qū)表已分區(qū)表是將超大表按照某種業(yè)務規(guī)則分別存儲在不同的文件組中,以提高性能和方便管理。 臨時表臨時表是一種因為暫時需要所產(chǎn)生的數(shù)據(jù)表,它存放在Tempdb數(shù)據(jù)庫中,當使用完臨時表且關閉連接后,系統(tǒng)會自動刪除臨時表。,,設計表,表中要存儲的數(shù)據(jù)類型(用來確定數(shù)據(jù)的取值范圍)表中需要的列數(shù)、每列的類型列是否可以為空是否需要在列上使用完整性約束需要使

15、用什么樣的索引哪些列作為主鍵、哪些列作為外鍵哪些用戶擁有訪問該數(shù)據(jù)庫或表的權限,,表約束,創(chuàng)建基本表---語法,基本語法 create table 表名( 列名 數(shù)據(jù)類型 [列級完整性約束] , [列名 數(shù)據(jù)類型 [列級完整性約束],]…. [表級完整性約束]);,創(chuàng)建基本表---語法,--完整性約束關系字主要有以下所示幾個: [primar

16、y key(列名 [,列名] …)]---主鍵 [unique(列名 [,列名] …)]-----唯一鍵 [foreign key (列名 [,列名] …) references 表名 (列名 [,列名] …)] ----外鍵 [check(條件)])----檢查約束注意:一個表中可以有多個外鍵,但一個表中只能有一個主鍵,基本表的定義—實例,示例:1.創(chuàng)建院系表:系(系別號,系名

17、)create table Department( Dno char(10) primary key, Dname varchar(20) )--請同學們分析一下創(chuàng)建學生表的SQL語句--2.創(chuàng)建學生表:學生(學號,姓名,性別,年齡,系別號) 要求:(學號唯一且不空,性別只能取 ‘1’或‘0’ 1代表男生,0代表女生),,

18、課堂練習1:創(chuàng)建課程表和表約束,要求:按下圖所示的結構,用命令方式創(chuàng)建數(shù)據(jù)表及其約束。,練習1:創(chuàng)建課程表和表約束(續(xù)),Create database Stu_DBgo --表示一個批的結束。go 只能獨自占用一行use Stu_DB --從默認的master數(shù)據(jù)庫切換到Stu_DB庫create table Course ( 序號 int identity, --自增長 課程號

19、 char (3) not null primary key, 課程名 char (20) not null , 授課教師 char (8) , 開課學期 tinyint not null default 1 check ( 開課學期>=0 and 開課學期<=6), 學時

20、 tinyint not null , 學分 tinyint ),基本表的定義( Ⅰ )續(xù),外鍵的不同處理方式:ON DELETE NO ACTION — 指定如果試圖刪除/修改某一行,而該行的鍵被其他表的現(xiàn)有行中的外鍵所引用,則產(chǎn)生錯誤并回滾 DELETE/UPDATE語句。 (若未說明,默認為此項)ON DELETE CASCADE—允許刪除主表中的主鍵值,不過主

21、表中某個主鍵值被刪除后,當前表外鍵引用該主鍵值的所有行均被刪除ON DELETE SET NULL/ DEFAULT –允許刪除主表中的主鍵值,不過主表中某個主鍵值被刪除后, 當前表引用該主鍵值的外鍵屬性置為空值(或默認值),基本表的修改,在表中添加新屬性:ALTER語句格式:alter table 表名[add 列名 列數(shù)據(jù)類型]增加新列[drop 列名]刪除列[alter 修改內(nèi)容]修改列定

22、義 [add 約束 內(nèi)容]增加新約束,基本表的修改,示例1:alter table student add note char(30)示例2: alter table student add foreign key(Dno) references Department(Dno) 示例3: alter table student drop column sname 示例4:

23、 alter table student alter column notes char(80) not null,修改表結構練習,--請同學們完成修改學生表student1.增加出生日期列 2.增加約束要求學生年齡要大于15歲,基本表的刪除,刪除數(shù)據(jù)庫中的對象(如表或表的索引等):drop語句格式drop table 表名示例 drop table studentDANGER dro

24、p基本表后,基本表的定義、表中數(shù)據(jù)、索引都將被刪除,本課小結,第五章創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)表修改數(shù)據(jù)表 刪除數(shù)據(jù)表,第四章:SQL語言基本知識SQL的分類數(shù)據(jù)類型,基本表的定義,格式 create table 表名( 列名 數(shù)據(jù)類型 [default 缺省值] [not null] [,列名 數(shù)據(jù)類型 [default 缺省值] [not null]]……

溫馨提示

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

評論

0/150

提交評論