亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server主鍵與外鍵設(shè)置以及相關(guān)理解

瀏覽:184日期:2023-03-06 14:25:32
目錄
  • 一、定義與作用
  • 二、SSMS設(shè)置表的主鍵與外鍵
    • 1、利用SQL語句建立查詢設(shè)置
    • 2、利用鼠標(biāo)點(diǎn)擊操作創(chuàng)建(SSMS環(huán)境下)
  • 三、主鍵表與外鍵表(個人的總結(jié)與反思...)
    • 補(bǔ)充:SQL Server的主鍵與外鍵約束
      • 總結(jié)

        一、定義與作用

        主鍵:表中能夠唯一地辨別事物的屬性。通過主鍵能夠查詢出表中一條完整的記錄,同時使用主鍵能防止表中出現(xiàn)重復(fù)的記錄,避免了數(shù)據(jù)的冗余。

        外鍵:通俗講就是表中一個屬性是來自另一張表的主鍵,該屬性被稱為該表的外鍵,外鍵可以有不止一個。外鍵存在的意義就是將事物與事物之間聯(lián)系起來。

        二、SSMS設(shè)置表的主鍵與外鍵

        1、利用SQL語句建立查詢設(shè)置

        舉了一個學(xué)生、課程以及學(xué)生成績關(guān)系表的例子:

        --代碼create table [表名] (    屬性名 類型 primary key,    屬性名 類型 foreign key references [外鍵來自的表](外鍵的屬性名),    屬性名 類型 not null,    屬性名 類型 null,···  ···); --實(shí)例create table Student(--創(chuàng)建Student表	Stu_id varchar(10) primary key,  --學(xué)號Stu_id設(shè)置為主鍵	Stu_name nvarchar(10) not null,  --學(xué)生姓名	Stu_sex nvarchar(2) default "男");       --學(xué)生性別,設(shè)置默認(rèn)值為"男"  create table Course( --創(chuàng)建課程信息表Course	Course_id varchar(4) primary key,--課程編號Course_id設(shè)置為主鍵	Course_name varchar(10) not null);       --課程姓名  create table StudentGrade(    --創(chuàng)建成績表	stu_id varchar(10) foreign key references Student(Stu_id),--學(xué)生學(xué)號設(shè)置為外鍵	Course_id varchar(4) foreign key references Course(Course_id),    --課程號設(shè)置為外鍵	Grade int null);  --學(xué)生成績

        2、利用鼠標(biāo)點(diǎn)擊操作創(chuàng)建(SSMS環(huán)境下)

        1) 設(shè)置主鍵

        a.在已創(chuàng)建Student表的前提下,點(diǎn)擊Student表,右擊,選擇<設(shè)計(jì)>

        b.選擇屬性Stu_id,右擊,選擇設(shè)置主鍵

        設(shè)置完成,Course表主鍵設(shè)置同上。

        2)設(shè)置外鍵

        a.選擇StudentGrade表,如1)中a所示選擇<設(shè)計(jì)>

        b.選擇屬性Stu_id,右擊,選擇<關(guān)系>

        c.在彈出的窗口選擇<添加>

        d.點(diǎn)擊表和列規(guī)范最右邊的三個小點(diǎn)(白色背景可能看不到,但點(diǎn)最右邊也差不多了)

        e.關(guān)系名可以重新編輯,最好是能讓自己記得住或看得懂含義的名字。將主鍵表和外鍵表設(shè)置完后點(diǎn)擊右下方確認(rèn)即可。

        三、主鍵表與外鍵表(個人的總結(jié)與反思...)

        剛開始上課的時候我就有點(diǎn)搞不清主鍵表與外鍵表,特別是設(shè)置的這張圖里,

        (假設(shè)正在設(shè)置的這張StudentGrade表稱為本表,其他表相對地稱為外表),我認(rèn)為外鍵表應(yīng)該是指外鍵本來所在的表,即外表,因此應(yīng)該設(shè)置為Student才對,但是這個框框一直編輯不了;而主鍵表應(yīng)該指我正在編輯的這張StudentGrade表才對,但是當(dāng)選擇StudentGrade之后,下面列選項(xiàng)的框框就變成空的,沒有列可選。

        但是將兩個操作互換后又能得到想要的結(jié)果,所以當(dāng)時就半懵半混過去了。

        然后偶然聽到郝斌老師的課之后才恍然大悟。

        首先,主鍵表應(yīng)該是指外鍵所來自的那個表,即例子中的Student表,在Student表中Stu_id是該表的主鍵,因此該表稱為主鍵表;而外鍵表則指Stu_id扮演外鍵的時候所在的表,即例子中StudentGrade表。

        補(bǔ)充:SQL Server的主鍵與外鍵約束

        SQL Server的主鍵與外鍵約束SQL Server有許多的重要知識,開始也說過許多的SQL知識了。SQL Server中的約束也是一個重要性的知識,下面我來說說關(guān)于SQL Server約束的知識。

        首先我們來說說SQL sever的主鍵約束:主鍵是唯一標(biāo)識表中每一行的列或一組列。可以使用 PRIMARY KEY 約束為表創(chuàng)建主鍵。如果主鍵只包含一列,則可以將 PRIMARY KEY 約束定義為列約束,如果主鍵有兩列或更多列,則必須使用 PRIMARY KEY約束作為表約束(代碼如圖所示):

        每個表只能有一個主鍵。參與主鍵的所有列必須定義為 NOT NULL。如果沒有為這些列指定 NOT NULL 約束,SQL Server會自動為所有主鍵列設(shè)置 NOT NULL 約束。在創(chuàng)建主鍵時,SQL Server還會自動創(chuàng)建唯一的聚簇索引(如果指定,則為非聚集索引)。

        接下來就是外鍵約束:SQL Server外鍵約束簡介外鍵是一個表中的一列或一組列,它唯一地標(biāo)識另一個表的行。 vendor_groups 和vendor表,它們的結(jié)構(gòu)(如圖所示):

        每個供應(yīng)商屬于供應(yīng)商組,每個供應(yīng)商組可能有零個或多個供應(yīng)商。 vendor_groups 和 vendors 表之間的關(guān)系是一對多的。對于 vendors 表中的每一行,始終可以在 vendor_groups 表中找到相應(yīng)的行。但是,如果使用當(dāng)前表創(chuàng)建方式,可以在vendors 表中插入一行而不在 vendor_groups 表中顯示相應(yīng) 的行。 還可以刪除 vendor_groups 表中的行,而無需更新或刪除 vendors 表中導(dǎo)致 vendors 表中存在孤立的行。要強(qiáng)制執(zhí)行 vendor_groups 和 vendors 表中的數(shù)據(jù)之間的鏈接,需要在 vendors 表中建立外鍵。要創(chuàng)建外鍵,請使用 FOREIGN KEY 約束。以下語句刪除 vendors 表并使用 FOREIGN KEY 約束重新創(chuàng)建它:

        現(xiàn)在,vendor_groups 表稱為父表,該表是外鍵約束引用的表。 vendors 表稱為子表,該表是應(yīng)用外鍵約束的表。

        總結(jié)

        到此這篇關(guān)于SQL Server主鍵與外鍵設(shè)置以及相關(guān)理解的文章就介紹到這了,更多相關(guān)SQL Server主鍵與外鍵設(shè)置內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

        標(biāo)簽: MsSQL
        主站蜘蛛池模板: 久久综合九色综合欧洲色 | 一级二级三级黄色片 | avv天堂| 1024在线观看 | videosg最新欧美另类 | 亚洲欧美在线观看首页 | 国产特黄特色一级特色大片 | zzji国产精品视频 | 免费一级特黄 欧美大片 | 爱福利视频一区二区 | 97国产在线视频 | 亚洲国产天堂久久九九九 | 手机看片国产在线 | 精品国产爱久久 | 日韩一级欧美一级毛片在线 | 黄网站大全| 亚洲理论片中文字幕电影 | 美国激情ap毛片 | 东京加勒比中文字幕波多野结衣 | 日韩做爰在线观看免费 | 免费在线一级毛片 | 亚洲伦理中文字幕一区 | 国产亚洲精品久久久久91网站 | 色佬影院 | 狠狠久久亚洲欧美专区 | 日韩高清在线免费观看 | 亚洲人6666成人观看 | a高清免费毛片久久 | 综合久久一区二区三区 | 丁香五月欧美成人 | 国产99视频精品免费视频7 | 欧美wwww | 国产一区二区三区在线观看影院 | 国产免费黄色大片 | 国产成人免费影片在线观看 | 成人三级精品视频在线观看 | 亚洲欧美小说色综合小 | 久草免费福利资源站在线观看 | 黄色亚洲片 | 男女免费高清在线爱做视频 | 亚洲成人mv |