講建庫和建表操作之前,先介紹一下sql(Structured Query Language)。
sql是結構化查詢語言,是關係數據庫的標準語言,也是一個通用的、功能極強的關係數據庫語言,DBMS(數據化管理系統)的語言外化呈現。
sql有五個特點:1.綜合統一 。2.高度非過程化。3. 面向集合的操作方式。4. 以同一種語法結構提供多種使用方式。5.語言簡潔,易學易用。
sql 支持關係數據庫三級模式結構:
建立數據庫:
CREATE DATABASE [數據庫名];
例:create database 學生_課程(這樣就建立了一個學生_課程數據庫)
也可以在建立數據庫的時候建立該數據庫的日誌文件及其存儲位置。
建立基本表:
CREATE TABLE [基本表名]
(<列名> <數據類型>[ <列級完整性約束條件> ]
[,<列名> <數據類型>[ <列級完整性約束條件>] ]
…
,<表級完整性約束條件> ] );
<表名>:所要定義的基本表的名字。
<列名>:組成該表的各個屬性(列)。
<列級完整性約束條件>:涉及相應屬性列的完整性約束條件。
<表級完整性約束條件>:涉及一個或多個屬性列的完整性約束條件 。
例:
create table 學生
( 學號 char(6) not null primary key,
姓名 char(8) not null,
性別 bit not null,
出生日期 smalldatetime not null,
學院 char(10) not null,
所在系 char(10) not null,
聯繫電話 char(11)
)
這樣就創建了一個學生基本表。
primary key 的前面是什麼,什麼就是主碼,例如上面的學生就是學生基本表的主碼。屬於列級完整性約束。
如果這麼定義主碼:primary key(屬性名1,屬性名2)。則此時屬於表級完整性約束。
foreign key [ 屬性名1] references [表名1][屬性名1] 指明該表中的屬性名1是該表的外碼,參照表是表名1。
unique完整性約束是指明該屬性只能取唯一值。
default完整性約束是指明該屬性的默認值。
constrain [約束名]check [約束條件] 表示爲屬性增加check約束條件。
約束條件就介紹這麼多了,有需要其他約束條件的介紹的話,可以私信我。