gpt4 book ai didi

SQL规范化

转载 作者:行者123 更新时间:2023-12-02 07:49:22 25 4
gpt4 key购买 nike

现在,我有一张 table :

Id  -  CollegeName   -   CourseName

此表未标准化,所以我每 1 所大学都有很多类(class)
我需要将其标准化为两个表:

Colleges:  CollegeID  -  CollegeName  
Courses: CourseID - CollegeID - CourseName

有没有简单的方法来做到这一点?
谢谢

最佳答案

CREATE TABLE dbo.College
(
CollegeId int IDENTITY(1, 1) NOT NULL PRIMARY KEY,
CollegeName nvarchar(100) NOT NULL
)

CREATE TABLE dbo.Course
(
CourseId int IDENTITY(1, 1) NOT NULL PRIMARY KEY,
CollegeId int NOT NULL,
CourseName nvarchar(100) NOT NULL
)

ALTER TABLE dbo.Course
ADD CONSTRAINT FK_Course_College FOREIGN KEY (CollegeId)
REFERENCES dbo.College (CollegeId)

--- add colleges
INSERT INTO dbo.College (CollegeName)
SELECT DISTINCT CollegeName FROM SourceTable

--- add courses
INSERT INTO dbo.Course (CollegeId, CourseName)
SELECT
College.CollegeId,
SourceTable.CourseName
FROM
SourceTable
INNER JOIN
dbo.College ON SourceTable.CollegeName = College.CollegeName

关于SQL规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4642618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com