`

数据库相关理解

阅读更多
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里面添加司机编号也是冗余的。而适当的冗余能够增加查询速度,目前这边表规模不大对效率影响不大,而且冗余性数据一般不会发生变化的吧。
0
2
分享到:
评论

相关推荐

    跟数据库有关的例子

    总之,“跟数据库有关的例子”是一个理想的学习起点,它将帮助开发者理解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 Server相关的电子书籍集合,适合对数据库系统和SQL语言感兴趣的初学者。SQL(Structured Query Language)是用于管理关系...

    数据库要看的一些相关书籍

    以下是一些推荐的数据库相关书籍及其涵盖的知识点: 1. 《数据库系统概念》(Abraham Silberschatz, Henry F. Korth, S. Sudarshan):这本书是数据库领域的经典教材,详细介绍了关系模型、SQL、事务处理、并发控制...

    神通数据库的Kettle数据库插件

    3. **数据库连接对话框**:为了方便用户配置数据库连接,需要扩展Kettle的数据库对话框,添加神通数据库的相关选项。 4. **元数据获取**:插件需要能获取神通数据库的表结构、字段信息等元数据,以供Kettle使用。 5....

    数据库相关文档

    在本"数据库相关文档"的集合中,我们能够深入学习和理解数据库的原理及其广泛应用。 首先,我们要了解数据库的基本概念。数据库是一个组织有序的数据集合,它提供了数据的存储、查询、更新和管理功能。常见的数据库...

    数据库相关资料

    这篇资料主要涵盖了数据库相关的知识,包括可能涉及的源码分析和实用工具。通过提供的博文链接(已省略,因为无法直接访问),读者可以深入理解数据库的工作原理和实际应用。 首先,数据库的基本概念不容忽视。...

    数据库相关思维导图汇总

    这个压缩包“数据库相关思维导图汇总”显然是一个集合,包含了多个关于数据库管理、设计和使用的思维导图,帮助学习者或专业人士系统地理解和掌握数据库的核心概念。在本文中,我们将详细探讨这些思维导图可能涵盖的...

    数据库学习相关资料汇总.zip

    这份"数据库学习相关资料汇总.zip"压缩包显然包含了丰富的学习资源,旨在帮助初学者或有经验的IT从业者深入理解数据库的原理和实践。 首先,我们要明白数据库的基本概念。数据库是一个组织化的数据集合,它可以是...

    数据库题目

    (1)培养学生运用所学课程《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》课程相关的理论知识,学会分析实际问题的能力。 (2)培养学生掌握用《数据库系统原理》的知识设计计算机应用课题的...

    数据库教学大纲 数据库教学大纲

    数据库系统作为现代信息技术的重要组成部分,对于信息、电子和计算机相关专业的学生而言,掌握数据库技术是其专业能力的重要标志。《数据库原理》作为一门核心课程,承担着培养学生数据库系统基础理论知识和实践应用...

    12306数据库相关脚本

    标题中的“12306数据库相关脚本”是指与12306中国铁路客户服务中心网站相关的数据库操作或查询脚本。这些脚本可能是为了获取12306网站上的信息,如票价、列车时刻表和代售点数据而编写的。12306是中国官方的火车票...

    数据库面试题(汇总所有的数据库面试题).zip

    这份"数据库面试题(汇总所有的数据库面试题).zip"压缩包显然包含了一系列与数据库相关的面试问题,旨在帮助求职者准备应对各种数据库面试挑战。以下是根据标题、描述以及可能的文件内容总结出的一些关键知识点: ...

    分布式数据库系统 易于理解

    此外,建议学生找到相关的参考资料,并积极投入图书馆和实验室的学习,以便更好地理解和掌握分布式数据库的知识。 教学方法包括引导学生学习主要内容,鼓励自我研究,通过做练习和讨论课题来加深理解。由于没有前置...

    数据库建模 数据库建模

    在本案例中,我们看到与"数据库建模"相关的文件,其中包括`ConceptualDataModel_2.cdm`、`ConceptualDataModel_2.pdm`和`crebas.sql`。 首先,`ConceptualDataModel_2.cdm`文件代表概念数据模型。概念数据模型是...

    江苏科技大学数据库题库

    这个题库可能包括了数据库设计、SQL语言、数据库管理、数据模型等多个方面,是针对江苏科技大学相关课程的复习资料。 【描述】:“学长只能帮你到这里啦,加油!100分哦”这句话暗示了这是一个学长分享的复习资源,...

Global site tag (gtag.js) - Google Analytics