資料庫的三個基本表
① mysql中有哪三種表 很多回答是基本表、臨時表、視圖 有人說沒有視圖,而是導出表。 視圖是表
視圖不屬於表,視圖的數據是根據表來的,視圖是資料庫數據的特定子集。可以禁止所有用戶訪問資料庫表,而要求用戶只能通過視圖操作數據,這種方法可以保護用戶和應用程序不受某些資料庫修改的影響,而且視圖是寫好的sql。
② 對於教學資料庫的3個基表(S表示學生表,C表示課程表,SC表示學生選課表,假設基表中
1.create table S
(SNO char(10) primary key,
SNAME varchar(20),
AGE int,
SEX char(2)default '男')
2.SELECT CNO,CNAME FROM C WHERE TEACHER='LI'
3.insert into C values('C01','高等數學','LI')
4.SELECT SNO,SNAME FROM S WHERE AGE>21 AND SEX='男'
5.select CNAME,TEACHER FROM C INNER JOIN SC ON C.CNO=SC.CNO WHERE SC.SNO='S1'
6.SELECT SNAME FROM S
WHERE SEX='男' and SNO in(select SNO from SC inner join
C on SC.CNO=C.CNO WHERE C.TEACHER='LI')
7.select CNO,CNAME FROM C
WHERE CNO in(select CNO from SC inner join
S on SC.SNO=S.SNO WHERE S.SNAME='WANG')
8.SELECT CNO 課程號,SEX 性別,count(*) 總人數,AVG(GRADE) 平均成績 FROM SC INNER JOIN
S ON SC.SNO=S.SNO group by CNO,SEX
9.select SNAME,SNO from S
where SNO in (select SNO FROM SC group by SNO having count(SNO)>=2)
③ 資料庫原理題,設有一個關系資料庫,有三個基本表,表的結構如下;高手幫答下!
1
2 create table student(
學號 char[10] primary key,
姓名 char[10],
年齡 int,
性別 char[2] defaut '男',
系名 char[10]
)
3 create table SC(
學號 char[10],
課程號 char[10],
成績 int,
primary key (學號,課程號),
foreignkey(學號) references STUDENT(學號),
foreign key(課程號) references COURSE(課程號)
)
4 delete from SC where 成績 is null
5 insert into STUDENT values('20130301009','王進', 18,'男','自動控制')
6
select distinctC.*
from STUDENT S, COURSE C, SC
where C.任課教師 ='李平' and S.系名='計算機' and S.學號=SC.學號 and C.課程號=SC.課程號
7
select S.學號,姓名,任課教師
from STUDENT S, COURSE C, SC
where C.課程名 ='計算機原理' and 成績>60 and 成績<85and S.學號=SC.學號 and C.課程號=SC.課程號
8
delete from SC where 學號 in (select 學號 from STUDENT where 姓名='王林')
9
create view view1
as
select *
from STUDENT
where 年齡<22 and 系名='通信' and 性別='女'
④ 資料庫關系的三種類型包括基本表、查詢表和( )
1.左右連接:以哪個表為主,結果集為「主表」的全部記錄+「副表」與「主表」相匹配的記錄,如果「副表」中沒有和「主表」相匹配的記錄,則相對應的記錄顯示為null
2.左連接:左邊表全部行+右邊表相匹配的行,如果左邊表中的某一行,在右邊表中沒有匹配的行,則顯示null(left
join
或者left
outer
join)
3.右連接:和左連接相反。(right
join
或者right
outer
join)
4.內連接:它返回欄位id(連接條件)同時存在於兩個表中的記錄,也就是說,僅當至少有一個同屬於兩表的行符合聯接條件時,內聯接才返回行,內聯接消除與另一個表中的任何行不匹配的行。(inner
join或者join)
5.全連接:不管匹配不匹配,全部都顯示出來。(full
join或者full
outer
join)
6.交叉連接:沒有where
子句的交叉聯接將產生聯接所涉及的表的笛卡爾積。第一個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。(cross
join不帶where)
7.自連接:給自己取個別名,一個表當兩個表來使用。
⑤ 資料庫原理問題 已知某資料庫系統中包含如下三個基本表:
(1)select * from sales where qty between 1000 and 10000;
(2)select gname,price,type,qty
from goods,sales
where goods.g#=sales.g# and fact='青島海爾集團' and s# in(select s# from shops where sname='北京東方大廈')
(3)select g#
from (select g#,max(a.aqty) from (select g#,AVG(QTY) as aqty from sales group by g#) as a
group by g#) as b
本來這題用top 做簡單、但是考慮到有銷售量相同的、還是用上面這個
(4)delete from sales where qty is null
(5)create view S_VIEW
as
select *
from shops
where addr like '南京路%'
⑥ 學生資料庫包括3個基本表, 謝謝 大家!
學號和成績表都在同一個表裡:[選課]
好辦了:
select 學號,sum(成績) as 總成績 from 選課 where 成績>=60 group by 學號 having count(學號)>=3 order by sum(成績) desc
測試過了,成功!別忘記加分哈!
⑦ 什麼叫基本表什麼是視圖二者的區別和聯系是什麼
基本表是資料庫中用來存儲數據的對象,是有結構的數據的集合,是整個資料庫系統的基礎。數據在表中式按行和列的格式組織排列的。
視圖是計算機資料庫中的一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。
基本表、視圖區別為:存在不同、存儲內容不同、操作不同。視圖是由一個或幾個基本表導出形成的虛表。
一、存在不同
1、基本表:基本表是本身獨立存在的表。
2、視圖:視圖本身不存在獨立存儲在資料庫中,是一個虛表。
二、存儲內容不同
1、基本表:基本表存儲的內容是實際的數據。
2、視圖:視圖存儲的內容只有存儲定義,不存放實際數據。
三、操作不同
1、基本表:操作者可以對基本表進行增刪改查四種操作。
2、視圖:操作者只可以對視圖進行查操作,不能進行增刪改操作。
參考資料來源:
網路——表
網路——視圖
⑧ 設有一個關系資料庫,其有三個基本表,其關系模式為:
1.數據管理經歷了 (人工管理 ), (文件系統 ) , (資料庫系統 ) 三個階段。
2.資料庫保護問題包括: ( 安全性) 、(完整性)、(故障恢復)和(並發控制)等多方面。
3.SQL是 (關系資料庫語言)(或結構化查詢語言) 。
4.關系規范化理論是設計 邏輯結構 的指南和工具。
5.SQL語言是一種 ( 通用的 ) , ( 功能極強的關系資料庫 )語言。我覺得這個填空要求不明確啊
6.關系代數中專門的關系運算包括:(選擇)、(投影)、(連接)和 ( 除運算 ) 。
7.關系模式的定義主要包括( 關系名),(關系的屬性名),(屬性的域),(屬性向域的映象),(屬性間的依賴關系) 。這個我們課本上么有的,看樓上的挺有道理的,應該沒錯吧。
8.關系資料庫中基於數學上的兩類運算是 ( 關系代數 ) ( 關系演算 ) 。
9.資料庫的邏輯模型設計階段,任務是將( E-R圖(或概念模型)) 轉換成關系模型。
10.資料庫保護包括數據的 (泄露 ) (更改) (破壞) 。差一個空,不知道咯。
11.數據的完整性是 ( 實體完整性 ) ( 參照完整性 ) ( 用戶定義完整性 ) 。
12.SQL語言提供(資料庫定義) ( 數據操縱 ) (數據控制)等功能。
13.關系中主碼的取值必須唯一且非空,這條規則是 ( 實體 ) 完整性規則。
14.視圖是一個虛表,它是從 (基本表 )中導出的表。在資料庫中只存放那個使用的( 命令 ) ,不存放視圖的( 數據 )。
⑨ 資料庫原理問題 已知某資料庫系統中包含如下三個基本表:
(1)select
*
from
sales
where
qty
between
1000
and
10000;
(2)select
gname,price,type,qty
from
goods,sales
where
goods.g#=sales.g#
and
fact='
青島海爾集團
'
and
s#
in(select
s#
from
shops
where
sname='北京
東方大廈
')
(3)select
g#
from
(select
g#,max(a.aqty)
from
(select
g#,AVG(QTY)
as
aqty
from
sales
group
by
g#)
as
a
group
by
g#)
as
b
本來這題用top
做簡單、但是考慮到有銷售量相同的、還是用上面這個
(4)delete
from
sales
where
qty
is
null
(5)create
view
S_VIEW
as
select
*
from
shops
where
addr
like
'南京路%'