資料庫原理教程課後答案
① 資料庫原理與應用教程第4版課後習題答案(何玉潔)
第一題:
(1)資料庫原理教程課後答案擴展閱讀
這部分內容主要考察的是資料庫系統的知識點:
資料庫系統為適應數據處理的需要而發展起來的一種較為理想的數據處理系統,也是一個為實際可運行的存儲、維護和應用系統提供數據的軟體系統,是存儲介質 、處理對象和管理系統的集合體。
資料庫系統通常由軟體、資料庫和數據管理員組成。其軟體主要包括操作系統、各種宿主語言、實用程序以及資料庫管理系統。資料庫由資料庫管理系統統一管理,數據的插入、修改和檢索均要通過資料庫管理系統進行。數據管理員負責創建、監控和維護整個資料庫,使數據能被任何有權使用的人有效使用。資料庫管理員一般是由業務水平較高、資歷較深的人員擔任。
資料庫系統的個體含義是指一個具體的資料庫管理系統軟體和用它建立起來的資料庫;它的學科含義是指研究、開發、建立、維護和應用資料庫系統所涉及的理論、方法、技術所構成的學科。在這一含義下,資料庫系統是軟體研究領域的一個重要分支,常稱為資料庫領域。
資料庫系統是為適應數據處理的需要而發展起來的一種較為理想的數據處理的核心機構。計算機的高速處理能力和大容量存儲器提供了實現數據管理自動化的條件。
② 資料庫原理與應用教程 課後題答案 第三版 何玉潔
發給你了 希望敢的上 望採納 哈哈
資料庫原理與應用教程―SQL Server
習題解答
1.5 習題
1.資料庫的發展歷史分哪幾個階段?各有什麼特點?
答:資料庫技術經歷了人工管理階段、文件系統階段和資料庫系統三個階段。
1)人工管理階段
這個時期數據管理的特點是:
數據由計算或處理它的程序自行攜帶,數據和應用程序一一對應,應用程序依賴於數據的物理組織,因此數據的獨立性差,數據不能被長期保存,數據的冗餘度大等給數據的維護帶來許多問題。
2)文件系統階段
在此階段,數據以文件的形式進行組織,並能長期保留在外存儲器上,用戶能對數據文件進行查詢、修改、插入和刪除等操作。程序與數據有了一定的獨立性,程序和數據分開存儲,然而依舊存在數據的冗餘度大及數據的不一致性等缺點。
3)資料庫系統階段
資料庫系統的特點如下:
(1)數據結構化
(2)較高的數據共享性
(3)較高的數據獨立性
(4)數據由DBMS統一管理和控制
2.簡述數據、資料庫、資料庫管理系統、資料庫應用系統的概念。
答:數據是描述事物的符號記錄,是信息的載體,是信息的具體表現形式。
資料庫就是存放數據的倉庫,是將數據按一定的數據模型組織、描述和存儲,能夠自動進行查詢和修改的數據集合。
資料庫管理系統是資料庫系統的核心,是為資料庫的建立、使用和維護而配置的軟體。它建立在操作系統的基礎上,位於用戶與操作系統之間的一層數據管理軟體,它為用戶或應用程序提供訪問資料庫的方法,包括資料庫的創建、查詢、更新及各種數據控制等。
凡使用資料庫技術管理其數據的系統都稱為資料庫應用系統。
3.簡述資料庫管理系統的功能。
答:資料庫管理系統是資料庫系統的核心軟體,一般說來,其功能主要包括以下5個方面。
(1) 數據定義和操縱功能
(2) 資料庫運行控制功能
(3) 資料庫的組織、存儲和管理
(4) 建立和維護資料庫
(5) 數據通信介面
4.簡述資料庫的三級模式和兩級映像。
答:為了保障數據與程序之間的獨立性,使用戶能以簡單的邏輯結構操作數據而無需考慮數據的物理結構,簡化了應用程序的編制和程序員的負擔,增強系統的可靠性。通常DBMS將資料庫的體系結構分為三級模式:外模式、模式和內模式。
模式也稱概念模式或邏輯模式,是對資料庫中全............
③ 資料庫系統原理及應用教程(第3版)課後習題答案!
習題5第5題p148
create database 職工_社團
use 職工_社團
create table 職工(
職工號 char(10) primary key,
姓名 char(8),
年齡 smallint default 20,
性別 char(20),
constraint C1 check (性別 in ('男','女')));
create table 社會團體(
編號 char(10) primary key,
名稱 char(8),
負責人 char(10),
活動地點 char(20),
constraint C2 foreign key (負責人) references 職工 (職工號));
create table 參加(
職工號 char(10),
編號 char(10),
參加日期 smalldatetime,
constraint C3 primary key (職工號,編號),
constraint C4 foreign key (職工號) references 職工 (職工號),
constraint C5 foreign key (編號) references 社會團體 (編號));
(2)
create view 社團負責人(編號,名稱,負責人職工號,負責人姓名,負責人性別)
as select 社會團體.編號,社會團體.名稱,社會團體.負責人, 職工.職工號,職工.性別
from 職工,社會團體,參加
where 社會團體.編號=參加.編號 and 職工.職工號=參加.職工號
create view 參加人情況(職工號,姓名,社團編號,社團名稱,參加日期)
as select 參加.職工號,姓名,社會團體.編號,名稱,參加日期
from 職工,社會團體,參加
where 職工.職工號=參加.職工號 and 參加.編號=社會團體.編號
(3)
select distinct 職工.職工號,姓名
from 職工,社會團體,參加
where 職工.職工號=參加.職工號 and 參加.編號=社會團體.編號
and 社會團體.名稱 in('歌唱隊','籃球隊');
(4)
select *
from 職工
where not exists (select *
from 參加
where 參加.職工號=職工.職工號);
(5)
select * from 職工
where not exists
(select *
from 社會團體
where not exists
(select *
from 參加
where 參加.職工號=職工.職工號 and 參加.編號=社會團體.編號));
(6)
select 職工號
from 職工
where not exists (select *
from 參加 參加1
where 參加1.職工號='001'and not exists
(select *
from 參加 參加2
where 參加2.編號=參加1.編號 and 參加2.職工號=職工.職工號))
(7)
select 編號,count(職工號) as 參加人數
from 參加
group by 編號;
(8)
select TOP 1 名稱,count(*) 參加人數
from 參加,社會團體
where 參加.編號=社會團體.編號
group by 名稱
order by 參加人數 desc
(9)
select distinct 社會團體.名稱,職工.姓名 as 負責人
from 職工,社會團體,參加
where 社會團體.編號=參加.編號
and 社會團體.負責人=職工.職工號
and 參加.編號 in(select 參加.編號
from 參加
group by 參加.編號 having count(參加.編號)>100)
(10)
grant select,insert,delete on 社會團體 to 李平
with grant option;
grant select,insert,delete on 參加 to 李平
with grant option;
習題6第9題p212
create database 學生選課
use 學生選課
create table 學生(
學號 char(10) primary key,
姓名 char(10),
性別 char(10),
constraint C1 check (性別 in ('男','女')),
年齡 smallint default 20,
所在系 char(20));
create table 課程(
課程號 char(10) primary key,
課程名 char(20),
先行課 char(20));
create table 選課(
學號 char(10),
課程號 char(10),
成績 smallint,
constraint D1 primary key (學號,課程號),
constraint D2 foreign key (學號) references 學生(學號),
constraint D3 foreign key (課程號) references 課程(課程號))
create index student_ind on 學生(學號)
create index class_ind on 課程(課程號)
create index select_ind on 選課(學號,課程號)
create rule value_rule as @value in ('男','女')
go
exec sp_bindrule 'value_rule','學生.性別'
go
create default 性別預設 as '男'
go
exec sp_bindefault '性別預設','學生.性別'
go
create trigger 選課插入更新 on 選課
for insert,update
as if (select count(*)
from 學生,inserted,課程
where 學生.學號=inserted.學號 and 課程.課程號=inserted.課程號)=0
rollback transaction
go
create trigger delete_all on 學生
for delete
as delete 選課
from 選課,deleted
where 選課.學號=deleted.學號
go
select 所在系,count(學號)as 學生人數
from 學生
group by 所在系
order by 所在系
compute count(所在系),sum(count(學號))
select *
from 學生 inner join 選課 on 學生.學號=選課.學號
go
select *
from 學生 left outer join 選課 on 學生.學號=選課.學號
go
select *
from 學生 right outer join 選課 on 學生.學號=選課.學號
go
select 選課.學號,學生.姓名,
學習情況=case
when avg(成績)>=85 then '好'
when avg(成績)>=75 and avg(成績)<85 then '較好'
when avg(成績)>=60 and avg(成績)<75 then '一般'
when avg(成績)<60 then '較差'
end
from 學生,選課
where 學生.學號=選課.學號
group by 選課.學號,姓名
go
只有這些,不知道用得到嗎