1:N,N:1和N:M
1:N means one to many, Like an author has many books
N:1 means many to one, Like there are many line items on a single purchase order
N:M means many to many, Like a magazine company sells many different magazine title to many customers
1:N 1:N数据库中有两种建表方式:
1)
create table tb_author {
a_id int primary key auto_increment not null,
a_name varchar(20) not null
}
create table tb_book {
b_id int primary key auto_increment not null,
b_name varchar(30) not null,
a_id int not null
}
这里假设book只有一个作者。非1的实体表中要引用1实体。
例:
一个中国有24个省,浙江省有xxx个市,这种关系很明确采用1),而1)例子
中的书作者现实一般有若干,不可能只有一个,所以明确实体之间关系很重要。
2)
create table tb_author {
a_id int primary key auto_increment not null,
a_name varchar(20) not null
}
create table tb_book {
b_id int primary key auto_increment not null,
b_name varchar(30) not null
}
create table tb_mapAB {
a_id int not null,
b_id int not null
}
2)方式灵活,可以表示1:N,N:1,N:M关系,缺点需要进行连表查询。
映射表:显示映射表,隐式映射表
如:restbus中的schedule就是隐式映射表,关联路线与车辆,之所以说是隐式,
主要是他现实中有对应的实体,即时刻表,很容易认为是一个独立实体。
而以上的tb_mapAB就是显示的,一,映射关系容易理解,二,表名也不好取,干脆
取名表A表B的映射。
从三方面考察表字段的设计,查询***,修改**,删除*
schedule里面要不要把司机编号添加进去,不应该添加,因为如果车辆与司机的对应关系发生变化,schedule这边也需要修改,完全可以通过车辆编号动态找出对应司机编号。从冗余性角度讲,schedule里面添加司机编号也是冗余的。而适当的冗余能够增加查询速度,目前这边表规模不大对效率影响不大,而且冗余性数据一般不会发生变化的吧。
分享到:
相关推荐
总之,“跟数据库有关的例子”是一个理想的学习起点,它将帮助开发者理解iOS应用中数据存储的基本概念,无论是使用SQLite还是Core Data,这对于任何iOS开发者来说都是必备的技能。通过研究“WuGongDemo”项目,初学...
总结来说,理解数据库事务对于任何从事数据库相关工作的IT专业人员至关重要。这不仅涉及到如何编写安全的SQL代码,还涉及到如何优化并发性能,保证系统的稳定运行。通过深入学习和实践,我们可以更好地掌握这个关键...
本资料集专注于数据库技术,包括SQL语言的学习与应用以及Java技术在数据库操作中的运用,还涉及了技术部门面试的相关问题,旨在帮助读者提升在数据库管理领域的专业技能。 首先,SQL(Structured Query Language)...
微软提供的SQL Server Management Studio (SSMS)工具集成了数据库同步的相关功能,使得用户能够方便地配置和管理数据库同步。 总的来说,数据库同步是一个复杂但至关重要的主题,它不仅涉及技术实现,还包括业务...
【标题】"新手数据库相关经典完整项目"是一个适合初学者的综合学习资源,它涵盖了数据库管理、多平台交互以及UI个性化等多个技术领域。这个项目旨在帮助新手在数据库操作和项目实施方面打下坚实基础,同时也提供了...
标题 "数据库相关资料下载" 暗示了这个压缩包包含与数据库相关的资源,特别是关于Oracle数据库的信息。描述中提到的“博文链接”提供了一个可能的背景,虽然具体信息未给出,但我们可以推测这可能是一个关于数据库...
标题中的“数据库有关的书籍电子书供阅读。SQL+Server”表明这是一份与数据库管理和SQL Server相关的电子书籍集合,适合对数据库系统和SQL语言感兴趣的初学者。SQL(Structured Query Language)是用于管理关系...
以下是一些推荐的数据库相关书籍及其涵盖的知识点: 1. 《数据库系统概念》(Abraham Silberschatz, Henry F. Korth, S. Sudarshan):这本书是数据库领域的经典教材,详细介绍了关系模型、SQL、事务处理、并发控制...
3. **数据库连接对话框**:为了方便用户配置数据库连接,需要扩展Kettle的数据库对话框,添加神通数据库的相关选项。 4. **元数据获取**:插件需要能获取神通数据库的表结构、字段信息等元数据,以供Kettle使用。 5....
在本"数据库相关文档"的集合中,我们能够深入学习和理解数据库的原理及其广泛应用。 首先,我们要了解数据库的基本概念。数据库是一个组织有序的数据集合,它提供了数据的存储、查询、更新和管理功能。常见的数据库...
这篇资料主要涵盖了数据库相关的知识,包括可能涉及的源码分析和实用工具。通过提供的博文链接(已省略,因为无法直接访问),读者可以深入理解数据库的工作原理和实际应用。 首先,数据库的基本概念不容忽视。...
这个压缩包“数据库相关思维导图汇总”显然是一个集合,包含了多个关于数据库管理、设计和使用的思维导图,帮助学习者或专业人士系统地理解和掌握数据库的核心概念。在本文中,我们将详细探讨这些思维导图可能涵盖的...
这份"数据库学习相关资料汇总.zip"压缩包显然包含了丰富的学习资源,旨在帮助初学者或有经验的IT从业者深入理解数据库的原理和实践。 首先,我们要明白数据库的基本概念。数据库是一个组织化的数据集合,它可以是...
(1)培养学生运用所学课程《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》课程相关的理论知识,学会分析实际问题的能力。 (2)培养学生掌握用《数据库系统原理》的知识设计计算机应用课题的...
数据库系统作为现代信息技术的重要组成部分,对于信息、电子和计算机相关专业的学生而言,掌握数据库技术是其专业能力的重要标志。《数据库原理》作为一门核心课程,承担着培养学生数据库系统基础理论知识和实践应用...
标题中的“12306数据库相关脚本”是指与12306中国铁路客户服务中心网站相关的数据库操作或查询脚本。这些脚本可能是为了获取12306网站上的信息,如票价、列车时刻表和代售点数据而编写的。12306是中国官方的火车票...
这份"数据库面试题(汇总所有的数据库面试题).zip"压缩包显然包含了一系列与数据库相关的面试问题,旨在帮助求职者准备应对各种数据库面试挑战。以下是根据标题、描述以及可能的文件内容总结出的一些关键知识点: ...
此外,建议学生找到相关的参考资料,并积极投入图书馆和实验室的学习,以便更好地理解和掌握分布式数据库的知识。 教学方法包括引导学生学习主要内容,鼓励自我研究,通过做练习和讨论课题来加深理解。由于没有前置...
在本案例中,我们看到与"数据库建模"相关的文件,其中包括`ConceptualDataModel_2.cdm`、`ConceptualDataModel_2.pdm`和`crebas.sql`。 首先,`ConceptualDataModel_2.cdm`文件代表概念数据模型。概念数据模型是...
这个题库可能包括了数据库设计、SQL语言、数据库管理、数据模型等多个方面,是针对江苏科技大学相关课程的复习资料。 【描述】:“学长只能帮你到这里啦,加油!100分哦”这句话暗示了这是一个学长分享的复习资源,...