為課程表添加約束使課程名不能重復
1. 主鍵和外鍵約束的問題。有三個表,成績表,課程表和成績表。外鍵是某個表的主鍵嗎。
你這里的課程編號就是課程號吧。
學號是學生表的主鍵、課程編號是課程表的主鍵回、學號答和課程號是成績表的主鍵,學號是成績表的外鍵,課程號是成績表的外鍵。
學號是成績表的外鍵,成績表的學號的有效取值是學生表裡的學號決定的,而外鍵通常是另外一個表的主鍵,課程號以此類推即可。
2. 用transact-sql建立課程表(課程號、課程名。、學歷)其中課程號為關鍵字,課程號不允許為空
use xuankegocreate table Course(cno char(10) not null default '01',cname varchar(40) not null default '課程名',credit tinyint null default 0)go
3. 「定義了課程號為外碼,其參照表為課程表,該外碼對應課程表中的課程號的約束」
如果你創建了在B表格中某個欄位的FK的約束,就能夠讓A表中對應的欄位PK的約束影響到B表格中FK的約束。
4. 怎麼用SQL_UPDATE命令將課程表中課程名為計算機基礎的學時修改為4。
update 課程表 set 學時=4 where 課程名='計算機基礎'
5. 使用sql語句將課程表的課程名欄位長度改為6
alter table 課程表 alter column 課程名字 varchar(6)
6. 怎麼用sql語句查詢課程表中的最高課時以及課程名稱
select top 1 課時, 課程名稱 from 課程表
order by 課時 desc
7. 為選課表增加成績必須大於0的約束用T-SQL語言如何編寫
ALTER TABLE 表明
ADD CHECK (欄位名>0)
8. 怎樣使用sql語句將課程表的課程名欄位長度改為6
alter table <表名> alter column <欄位名> 新類型名(長度)
9. 用T-SQL語句完成下列題目。在名稱為「教學庫」的資料庫中有三個表學生表,課程表和成績表它們的定義如下
1
select b.課程名,isnull(count(*),0)
from 課程表 a,成績表 b on a.課程號回=b.課程號
group by b.課程名答
2
select a.姓名,b.課程名,c.成績 from 學生表 a,課程表 b,成績表 c
where a.學號=c.學號 and b.課程號=c.課程號
and a.性別='女' and b.課程名='計算機基礎'
3
這個,你自己添加數據就好啦
4
update 課程表 set 學分=學分+1 where 課程號='001'
5
select * from 課程表 where 課程名 like '計算機%'
10. SQL創建學生表(Student)、課程表(Course)、班級表(Class)、選課表(XK),寫對的我可以獎勵QB
一個student表student表包含復三個欄位的學制生的ID(stu_id)學生姓名(stu_name),當然ID(les_id)
「CREATE TABLE [dbo的]。學生(/ stu_id。的uniqueidentifier] NOT NULL,
stu_name [數據類型為nvarchar](425)NOT NULL,
les_id [為uniqueidentifier] NOT NULL
)
第二個表中的課程課,有兩個欄位,當然的ID(les_id)的和課程名稱(les_name)
CREATE TABLE [dbo的課(
les_id的uniqueidentifier] NOT NULL,
les_name [數據類型為nvarchar](425)NOT NULL
)< /第三個表,學生表的分數,三場場ID(les_id)的學生證(stu_id)和課程成績(les_score)
創建表[DBO]。分數(
les_id的uniqueidentifier] NULL,
stu_id的唯一標識符NOT NULL,
les_score [INT] NOT NULL
)