《数据库原理与应用》(第三版) 第 5 章 数据类型及关系表创建 基础 习题参考答案
1.Tinyint數(shù)據(jù)類型定義的數(shù)據(jù)的取值范圍是多少?
答:0-255
2.SmallDatatime類型精確到哪個(gè)時(shí)間單位?
答:分鐘
3.定點(diǎn)小數(shù)類型numeric中的p和q的含義分別是什么?
答:p代表整數(shù)位數(shù)+小數(shù)位數(shù)的和值,q代表小數(shù)位數(shù)。
4.Char(n)、nchar(n)的區(qū)別是什么?它們各能存放多少個(gè)字符?
答:Char(n)中的n代表能存放n個(gè)字節(jié)的字符,如果是字母可以存放n個(gè),如果是漢字可存放n/2個(gè)。Nchar(n)中的n代表能存放的字符個(gè)數(shù)。
5.Char(n)和varchar(n)的區(qū)別是什么?
答:Char(n)是定長(zhǎng)存儲(chǔ),一定占n個(gè)字節(jié)的空間。Varchar(n)代表最多占n個(gè)字節(jié)的空間。
6.數(shù)據(jù)完整性約束的作用對(duì)象有哪些?
答:表和列
7.CHECK約束的作用是什么?
答:限制列的取值范圍。
8.UNIQUE約束的作用是什么?
答:限制列取值不重。
9.DEFAULT約束的作用是什么?
答:提供列的默認(rèn)值。
上機(jī)練習(xí)
1.在第4章創(chuàng)建的Students數(shù)據(jù)庫中,寫出創(chuàng)建如下三張表的SQL語句,要求在定義表的同時(shí)定義數(shù)據(jù)的完整性約束:
(1)“圖書”表結(jié)構(gòu)如下:
書號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,主鍵;
書名:統(tǒng)一字符編碼可變長(zhǎng)類型,長(zhǎng)度為30,非空;
第一作者:普通編碼定長(zhǎng)字符類型,長(zhǎng)度為10,非空;
出版日期:小日期時(shí)間型;
價(jià)格:定點(diǎn)小數(shù),小數(shù)部分1位,整數(shù)部分3位。
create table 圖書(
書號(hào) nchar(6) primary key,
書名 nvarchar(30) not null,
第一作者 char(10) not null,
出版日期 smalldate,
價(jià)格 numeric(4,1)
)
(2)“書店”表結(jié)構(gòu)如下:
書店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,主鍵;
店名:統(tǒng)一字符編碼可變長(zhǎng)類型,長(zhǎng)度為30,非空;
電話:普通編碼定長(zhǎng)字符類型,8位長(zhǎng),每一位的取值均是0~9的數(shù)字;
地址:普通編碼可變長(zhǎng)字符類型,40位長(zhǎng)。
郵政編碼:普通編碼定長(zhǎng)字符類型,6位長(zhǎng)。
create table 書店(
書店編號(hào) nchar(6) primary key,
店名 nvarchar(30) not null
電話 char(8) check(電話 like ‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’),
地址 varchar(40),
郵政編碼 char(6)
)
(3)“圖書銷售”表結(jié)構(gòu)如下:
書號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,非空;
書店編號(hào):統(tǒng)一字符編碼定長(zhǎng)類型,長(zhǎng)度為6,非空;
銷售日期:小日期時(shí)間型,非空;
銷售數(shù)量:小整型,大于等于1。
主鍵為(書號(hào),書店編號(hào),銷售日期);
其中“書號(hào)”為引用“圖書表”的“書號(hào)”的外鍵;
“書店編號(hào)”為引用“書店表”的“書店編號(hào)”的外鍵。
create table 圖書銷售(
書號(hào) nchar(6) not null,
書店編號(hào) nchar(6) not null,
銷售日期 samlldate,
銷售數(shù)量 smallint check(銷售數(shù)量 >= 1),
primary key(書號(hào), 書店編號(hào), 銷售日期),
foreign key(書號(hào)) references 圖書(書號(hào)),
foreign key(書店編號(hào)) references 書店(書店編號(hào))
)
2.為圖書表添加“印刷數(shù)量”列,類型為整數(shù),同時(shí)添加取值大于等于1000的約束。
Alter table 圖書 add 印刷數(shù)量 int check(印刷數(shù)量 >= 1000)
3.刪除書店表中的“郵政編碼”列。
Alter table 書店 drop column 郵政編碼
4.將圖書銷售表中的“銷售數(shù)量”列的數(shù)據(jù)類型改為整型。
Alter table 圖書 alter column 銷售數(shù)量 int
總結(jié)
以上是生活随笔為你收集整理的《数据库原理与应用》(第三版) 第 5 章 数据类型及关系表创建 基础 习题参考答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《数据库原理与应用》(第三版) 第4章S
- 下一篇: 《数据库原理与应用》(第三版) 第 6