資料庫原理期中設計

2023-01-06 09:06:03 字數 4197 閱讀 5511

----商品定購系統案例分析

設有商業銷售系統資料庫。乙個顧客(顧客編號,姓名,性別,單位,**號碼)可以定購多種商品,一種商品(商品編號,名稱,型號,廠商,單價)可以提供給多個顧客。顧客定購商品時需要確定定購商品的數量,並記錄定購日期與取貨日期。

(1) 試畫出該系統的實體-聯絡模型e-r圖。

(2) 給出相應的關係資料模型

顧客(顧客編號, 姓名, 性別, 單位, **)

商品(商品編號, 名稱, 型號, 單價, 廠商)

定購(顧客編號, 商品編號, 定購數量, 定購日期, 取貨日期)

(3) 給出相應邏輯結構的設計

(1) 表名:customer

屬性:id 字元型最大10個字元 ——顧客編號

name 字元型最大16個字元 ——顧客姓名

*** 字元型最大2個字元 ——性別

mobile 字元型最大11個字元 ——移動**

address 字元型最大50個字元 ——家庭住址

約束: id——主碼; name——非空屬性; ***——取值「男」或「女」;

mobile——唯一性; address——預設為unkown;

create table customer

( id char(10) primary key,

name not null,

*** char(2) check(***=』男』 or ***=』女』),

mobile char(11) unique,

address default 『unkown』

)(2) 表名:orderbook

屬性:csid 字元型最大10個字元 ——顧客編號

cmid 字元型最大12個字元 ——商品編號

count 整型 ——定購數量

bookdate 日期型 ——訂貨日期

takedate 日期型 ——交貨日期

約束:csid,cmid——主碼; 定購數量要大於0; 訂貨日期要小於交貨日期;

csid——外碼,引用customer表的id;

cmid——外碼,引用commodity表的id;

create table orderbook

( csid char(10) foreign key (csid) references customer(id),

cmid char(10) foreign key (cmid) references commodity(id),

count int check(count>0),

bookdate datetime,

takedate datetime,

check(takedate>bookdate),

primary key(csid, cmid)

)(3) 表名:commodity

屬性:id 字元型最大12個字元 ——商品編號

name 字元型最大20個字元 ——商品名稱

manufacture 字元型最大20個字元 ——生產廠商

price 小數型最大不超過4位數,保留2位小數 ——商品單價

約束:id——主碼; name——非空;

create table commodity

( id char(12) primary key,

name varchar(20) not null,

manufactur varchar(20),

price decimal(6,2)

)(1) 往基本表customer中插入顧客元組(」0421f901」,」wu」,」女」,139********)

insert into customer(id,name,***, mobile) values(『0421f901』, 『wu』, 『女』, 『139

(2) 往基本表commodity中插入一條商品記錄(「0311牙膏」,「保潔公司」,5.00)

isnert into commodity(id, name, manufacture, price) values(『0311牙膏』, 『保潔公司』, 5)

(3) 修改「wangyan」顧客定購商品的記錄交貨日期為2005-12-25。

update order set taketime=』2005-12-25』 where csid in (select id from customer where name=』wangyan』)

(4) 把「雀巢奶粉」的定購商品記錄全部刪去。

delete from order where cmid in (select id from commodity where name=』雀巢奶粉』)

(5) 查詢「anan」顧客的手機號和住址。

select mobile, address from customer where name=』anan』

(6) 查詢商品的平均**高於75元錢的廠商名稱。

select manufacture from commodity group by manufacture h**ing **g(price) >75

(7) 查詢顧客的定購資訊,並按訂貨日期公升序排列,若訂貨日期相同,則按定購數量降序排列。

select * from orderbook order by bookdate,count desc

(8) 查詢定購數量超過100的顧客姓名、**和住址。

select name, mobile, address from customer where id in(select csid from orderbook where count>100)

(9) 查詢沒有訂單的商品編號、名稱和廠商。

select id,name, manufacture from comodity where id not in(select csid from orderbook)

(10) 查詢定購了商品號為「m900532481」的顧客總人數和最高數量。

select count(*) ,max(count) from order where cmid=』m900532481』

(11) 查詢定購了「可比克」商品的顧客編號、姓名。

select id,name from customer where id in(select csid from order where cmid in(select id from comodity where name=』 可比克』))

(12) 查詢商品名中包含「糖」的所有商品的編號、廠商、單價。

select id,manufacture ,price from comodity where name like 『%糖%』

(13) 查詢至少有兩位顧客定購的商品的名稱。

select name from comodity where id in(select cmid from order group by cmid h**ing count(*)>=2)

(14) 查詢截至2023年底所有商品訂單最晚的交貨日期。

select taketime from order where taketime = (select max(taketime) from order where taketime<』2005-12-31』)

(15) 查詢住址中含有「軟體園」三個字的顧客人數。

select count(*) from customer where address like』%軟體園%』

(16) 建立定購商品號為「m900532481」的顧客的編號、住址、訂貨數量、交貨日期的檢視view001。

create view view001 (編號,住址,訂貨數量,交貨日期)

asselect csid,address,count,taketime from orderbook, customer

where customer .id= orderbook .csid and cmid=』m900532481』

(17) 建立檢視(view002),包含每位顧客的編號、訂單數量、平均訂購數量、最早交貨日期和最晚交貨日期。

create view view002(顧客編號,訂單數量,平均訂購數量,最早交貨日期,最晚交貨日期)

as select csid, count(*), **g(count), min(taketime), max(taketime) from order group by csid

班級學號姓名成績

資料庫原理題庫

班級專業姓名考號 密封裝訂線 一 單項選擇題 每小題1分,共10分 要求 請將答案填寫在下方的 中,否則不得分。1 資料模型的三要素是 a外模式 模式和內模式 b 關係模型 層次模型 網狀模型 c實體 屬性和聯絡 d資料結構 資料操作和完整性約束 2 在資料庫中儲存的是 a資料 b資料模型 c資料及...

資料庫原理題庫

班級專業姓名考號 密封裝訂線 一 單項選擇題 每小題1分,共10分 要求 請將答案填寫在下方的 中,否則不得分。1.下列四項中,不屬於資料庫特點的是 a.資料共享 b.資料完整性 c.資料冗餘很高 d.資料獨立性高 2.反映現實世界中實體及實體間聯絡的資訊模型是 a.關係模型 b.層次模型 c.網狀...

資料庫原理 62

一 單項選擇題 本大題共20小題,每小題1分,共20分 1.位於使用者和資料庫之間的一層資料管理軟體是 2.乙個事務中所有對資料庫操作是乙個不可分割的操作序列,這稱為事務的 a a.原子性 b.一致性 c.隔離性 d.永續性 3.關係代數的五個基本操作是 並 差 選擇 投影和 d a.等值連線 連線...