❶ sql Server 中的「鍵」是什麼意思主鍵和外鍵是什麼
這需要理清幾個概念:
1)候選鍵: 關系中的一個屬性組,其值能唯一標識一個元組,若從該屬性組中去掉任何一個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。
2)主鍵:當有多個候選碼時,可以選定一個作為主碼,選定的候選碼稱主鍵
3)外鍵: 關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。
舉個例子:
有兩個關系:
student(s#,sname,d#),即學生這個關系有三個屬性:學號,姓名,所在系別
dep(d#,dname),即院系有兩個屬性:系號、系名
則s#、d#是主鍵,也是各自所在關系的唯一候選鍵,d#是student的外鍵。
參考資料:資料庫——原理、編程與性能
❷ SQL基本表未定義主鍵,如何新增一個主鍵。
新增一個欄位設為主鍵,或者將現有的某欄位設為主鍵,
在欄位名上右鍵,會有設為主鍵的選項的
❸ SQL中主鍵和外鍵的定義是什麼
主鍵的定義:要求主鍵列數據唯一,並且不允許為空。
外鍵的定義:用於在兩表之間建立關系,需要指定引用主表的那一列。
❹ SQL變數未定義
樓主,拼接後的@sql3是這樣的:
select @sql=@sql+', max(case peijianming when '''+ peijianming +''' then convert(decimal(18,4),Peijianbi) else 0 end) as ['+peijianming+']' from ( select distinct peijianming from #1 where huohao in('02B10RIW027Z1','09BN37ML27A00') and isnull(peijianming,'') <> '')
從from開始都沒有被包在引號之內。這里有問題吧?
❺ sql什麼叫 欄位 `和屬性
數據表是一個二維表,即:由行和列組成。
表中的每一列,叫做一個欄位,
表中的每一行,叫做一條記錄。
比如:學生情況表裡有欄位:姓名、性別、年齡、等等。
所謂欄位屬性,最簡單的是指欄位:1)是存放什麼數據類型的(可以:數值,字元、日期、備注等等),2)欄位的寬度:(如果是數值,那麼最大多少,如果是字元,最多可以存放幾個文字)等等。這兩個是最基本的欄位屬性了!
❻ SQL中實體型,實體值,屬性值,屬性型 是什麼意思
ER圖分為實體、屬性、關系三個核心部分。實體是長方形體現,而屬性則是橢圓形,關系為菱形。
ER圖的實體(entity)即數據模型中的數據對象,例如人、學生、音樂都可以作為一個數據對象,用長方體來表示,每個實體都有自己的實體成員(entitymember)或者說實體對象(entityinstance),例如學生實體里包括張三、李四等,實體成員(entitymember)/實體實例(entityinstance)不需要出現在ER圖中。
ER圖的屬性(attribute)即數據對象所具有的屬性,例如學生具有姓名、學號、年級等屬性,用橢圓形表示,屬性分為唯一屬性(uniqueattribute)和非唯一屬性,唯一屬性指的是唯一可用來標識該實體實例或者成員的屬性,用下劃線表示,一般來講實體都至少有一個唯一屬性。
ER圖的關系(relationship)用來表現數據對象與數據對象之間的聯系,例如學生的實體和成績表的實體之間有一定的聯系,每個學生都有自己的成績表,這就是一種關系,關系用菱形來表示。
ER圖中關聯關系有三種:
1對1(1:1):1對1關系是指對於實體集A與實體集B,A中的每一個實體至多與B中一個實體有關系;反之,在實體集B中的每個實體至多與實體集A中一個實體有關系。
1對多(1:N):1對多關系是指實體集A與實體集B中至少有N(N>0)個實體有關系;並且實體集B中每一個實體至多與實體集A中一個實體有關系。
多對多(M:N):多對多關系是指實體集A中的每一個實體與實體集B中至少有M(M>0)個實體有關系,並且實體集B中的每一個實體與實體集A中的至少N(N>0)個實體有關系。
簡單的例子
❼ SQL中主鍵和外鍵的定義是什麼
關系型資料庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵
比如
學生表(學號,姓名,性別,班級)
其中每個學生的學號是唯一的,學號就是一個主鍵
課程表(課程編號,課程名,學分)
其中課程編號是唯一的,課程編號就是一個主鍵
成績表(學號,課程號,成績)
成績表中單一一個屬性無法唯一標識一條記錄,學號和課程號的組合才可以唯一標識一條記錄,所以 學號和課程號的屬性組是一個主鍵
成績表中的學號不是成績表的主鍵,但它和學生表中的學號相對應,並且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外鍵
同理 成績表中的課程號是課程表的外鍵
定義主鍵和外鍵主要是為了維護關系資料庫的完整性,總結一下:
主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。二、 主鍵、外鍵和索引的區別 收藏主鍵、外鍵和索引的區別?
主鍵
外鍵
索引
定義:
唯一標識一條記錄,不能有重復的,不允許為空
表的外鍵是另一表的主鍵, 外鍵可以有重復的, 可以是空值
該欄位沒有重復值,但可以有一個空值
作用:
用來保證數據完整性
用來和其他表建立聯系用的
是提高查詢排序的速度
個數:
主鍵只能有一個
一個表可以有多個外鍵
一個表可以有多個惟一索引
聚集索引和非聚集索引的區別?
聚集索引一定是唯一索引。但唯一索引不一定是聚集索引。
聚集索引,在索引頁里直接存放數據,而非聚集索引在索引頁里存放的是索引,這些索引指向專門的數據頁的數據。