優化MySchool 第二章 資料庫的實現

2021-07-25 20:44:28 字數 3349 閱讀 4416

1.使用 create database 語句可以建立資料庫,使用 drop database 語句可以刪除資料庫

2.使用 create table 語句可以建立資料庫的表結構,使用 drop table 語句可以刪除表結構

3.使用alter table 語句可以建立一下約束:

* 主鍵約束 (primary key constraint):要求主鍵列資料唯一,並且不允許為空

* 非空約束(not null):要求列不能存在空值

* 唯一約束 (unique constraint):要求該列的值必須唯一,允許為空

* 檢查約束 (check constraint):某列的取值範圍限制,格式限制等

* 預設約束 (default constraint):某列的預設值

* 外來鍵約束 (foreign key constraint):用於在兩表之間建立關係,需要指定引用主表的哪一列

4.建立資料庫或表時一般需要預先檢測是否存在物件,sql server中的資料庫可以從master系統資料庫的sysdatabases表中查詢,而乙個資料庫中的表可以從該資料庫的系統表sysobjects中查詢

5.資料完整性是指資料的正確性和相容性

6.實體完整性:唯一確定表中一行記錄

7.域完整性:表中特定列資料的有效性,以確保不會輸入無效的數值

8.引用完整性:插入或刪除記錄時,維護表之間定義的關係

use master   --設定當前資料庫為master,以便訪問sysdatabase表

goif exists(select * from sysdatabases where name='s2226')

drop database s2226

create database s2226 --建立資料庫

on primary

( --資料檔案

name='s2226_data', --邏輯名稱

filename='d:\\s2226_data.mdf', --物理名稱

size=5mb, --初始大小

maxsize=100mb, --最大值

filegrowth=15% --增長率

)log on

( --日誌檔案

name='s2226_log',

filename='d:\\s2226._log.ldf',

size=2mb,

filegrowth=1mb

)use s2226

create table student --建立student表

(studentid int not null,

studentname varchar(20) not null,

*** bit not null,

address nvarchar(50) null,

borndate datetime null,

class int not null

)create table grade --建立grade表

(studentid int not null,

studentname varchar(20) not null,

*** bit not null,

address nvarchar(50) null,

borndate datetime null,

class int not null

)--向grade表中新增資料

insert into dbo.grade(studentid, studentname, ***, address, borndate, class)

values (1,'小小',1,'','',1)

insert into dbo.grade(studentid, studentname, ***, address, borndate, class)

values (2,'哈哈',1,'','',2)

insert into dbo.grade(studentid, studentname, ***, address, borndate, class)

values (3,'嘿嘿',1,'','',3)

--向student表中新增資料

insert into dbo.student(studentid, studentname, ***, address, borndate, class)

select 1,'噠噠',1,'','',1 union

select 2,'嘟嘟',1,'','',2 union

select 3,'歐耶',1,'','',3

delete from dbo.student --刪除student表中的資料

delete from dbo.grade --刪除grade表中的資料

--主鍵約束,年級編號

alter table grade

add constraint pk_class primary key (class)

--主鍵約束,學號

alter table student

add constraint pk_studentid primary key (studentid)

--唯一約束,姓名

alter table grade

add constraint uq_studentname unique (studentname)

--預設約束,預設為'位址不祥'

alter table grade

add constraint df_address default ('位址不詳') for address

--檢查約束

alter table grade

add constraint ck_borndate check (borndate>=1980-01-01)

--外來鍵約束

alter table student

add constraint fk_studentid foreign key(studentid) references student(studentid)

--刪除約束(外來鍵)

alter table student

drop constraint fk_studentid

--刪除表

drop table student

優化MySchool 第二章

建立資料庫 use master if exists select from sysdatabases where name xy drop database xy create database xy on primary name xy data filename d xy data.mdf s...

第二章 資料契約

在乙個服務內部,功能性的應用由 實現的。在服務外部,功能性服務在wsdl中定義。在乙個wcf服務中,應用程式資料在簡單和複雜型別表示 而在服務外部,應用程式資料由xml元資料定義表示。wcf資料契約提供了對 定義的.net clr型別與w3c組織定義用來在服務外部通訊的xml元資料定義之間的對映。使...

第二章 檢索資料

本章介紹如何用select語句從表中檢索乙個或多個資料列。1.select語句 關鍵字 keyword 作為sql組成部分的保留字。關鍵字不能用作表或列的名字。sql語句不區分大小寫。通常對所有sql關鍵字使用大寫,而對所有列和表名使用小寫,使 更易於閱讀和除錯。注意 雖然sql不區分大小寫,但表名...