Sql 多对多关系
来源:互联网 发布:sql语句优化方案 编辑:程序博客网 时间:2024/05/01 22:00
多对多关系的典型设计就是图书表和作者表,一本图书可以有多个作者,而一个作者可以写多本图书,两者的关系通过一张中间外键表维护
--创建基表CREATE TABLE [dbo].[Book] --图书表([ID] [int] NOT NULL IDENTITY(1, 1),[Name] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOALTER TABLE [dbo].[Book] ADD CONSTRAINT [PK_dbo.Book] PRIMARY KEY CLUSTERED ([ID]) ON [PRIMARY]GOCREATE TABLE [dbo].[Author] --作者表([ID] [int] NOT NULL IDENTITY(1, 1),[Name] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOALTER TABLE [dbo].[Author] ADD CONSTRAINT [PK_dbo.Author] PRIMARY KEY CLUSTERED ([ID]) ON [PRIMARY]GOCREATE TABLE [dbo].[BookAuthor] --图书作者关联表([Book_ID] [int] NOT NULL,[Author_ID] [int] NOT NULL) ON [PRIMARY]GOALTER TABLE [dbo].[BookAuthor] ADD CONSTRAINT [PK_dbo.BookAuthor] PRIMARY KEY CLUSTERED ([Book_ID], [Author_ID]) ON [PRIMARY]GOCREATE NONCLUSTERED INDEX [IX_Book_ID] ON [dbo].[BookAuthor] ([Book_ID]) ON [PRIMARY]GOCREATE NONCLUSTERED INDEX [IX_Author_ID] ON [dbo].[BookAuthor] ([Author_ID]) ON [PRIMARY]GOALTER TABLE [dbo].[BookAuthor] ADD CONSTRAINT [FK_dbo.BookAuthor_dbo.Author_Author_ID] FOREIGN KEY ([Author_ID]) REFERENCES [dbo].[Author] ([ID]) ON DELETE CASCADEGOALTER TABLE [dbo].[BookAuthor] ADD CONSTRAINT [FK_dbo.BookAuthor_dbo.Book_Book_ID] FOREIGN KEY ([Book_ID]) REFERENCES [dbo].[Book] ([ID]) ON DELETE CASCADEGO--插入数据DECLARE @CurBookID INTINSERT INTO dbo.Book(Name) VALUES('book_a')SET @CurBookID = SCOPE_IDENTITY();DECLARE @CurAuthorID INTINSERT INTO dbo.Author(Name) VALUES('john')SET @CurAuthorID = SCOPE_IDENTITY()INSERT INTO dbo.BookAuthor(Book_ID, Author_ID) VALUES(@CurBookID, @CurAuthorID)INSERT INTO dbo.Author(Name) VALUES('linda')SET @CurAuthorID = SCOPE_IDENTITY()INSERT INTO dbo.BookAuthor(Book_ID, Author_ID) VALUES(@CurBookID, @CurAuthorID)INSERT INTO dbo.Book(Name) VALUES('book_b')SET @CurBookID = SCOPE_IDENTITY();INSERT INTO dbo.BookAuthor(Book_ID, Author_ID) VALUES(@CurBookID, @CurAuthorID)--查询数据SELECT * FROM dbo.BookSELECT * FROM dbo.AuthorSELECT * FROM dbo.BookAuthor
0 0
- Sql 多对多关系
- sql server cube多对多关系
- SQL Server中多对多关系的实现
- 多对多关系
- 多对多关系
- hibernate关联关系之多对多关系
- Hibernate关系映射之多对多关系
- JAVA--多对多关系
- Django多对多关系
- hibernate 多对多关系
- 多对多关系中,
- 多对多映射关系
- 多对多关联关系
- Flask-多对多关系
- Hibernate多对多关系
- hibernate 多对多关系
- sqlalchemy 多对多关系
- 多对多关系映射
- 进程和线程的联系和区别
- 加快的冒泡排序之CC++程序
- linux文件操作
- 遍历MAP
- 继承
- Sql 多对多关系
- (翻译)什么是Java的永久代(PermGen)内存泄漏
- We Need Medicine zoj3812 The 2014 ACM-ICPC Asia Mudanjiang Regional
- Blocks - POJ 1390 dp
- 副寻救至翟烈觅豆匕俦夯势痪嚼靡
- 已欧家商叶张玖汲琶鼻痴疵缚雇家
- 移动测试技术保护源代码!解码全球首款移动端白盒测试工具ThreadingTest
- 艘粗聊嘶卵聪辈崩欣粟雀粗衫纺碧
- 度艺掷粗壁靡琶窝就言菲训宋赫展