我学数据库(4)--数据模型之概念模型 了解完数据模型的共性之后,再深层次的了解一下概念模型,下次随笔再学习逻辑模型,物理模型不再细究,因为这涉及到DBMS实现的问题,太深奥了,就我个人的情况能力还不够。 在前面说了,概念模型是对现实世界的建模,是面
我学数据库(4)--数据模型之概念模型
了解完数据模型的共性之后,再深层次的了解一下概念模型,下次随笔再学习逻辑模型,物理模型不再细究,因为这涉及到DBMS实现的问题,太深奥了,就我个人的情况能力还不够。
在前面说了,概念模型是对现实世界的建模,是面向用户的,所以既要能较全面的表达应用中的各种语义,也要易于用户理解。概念模型也叫信息模型,是现实世界到信息世界的第一层抽象,需要一些基本概念做支持,所以先来了解一下这些概念。在学这些概念之前看过一些关于数据库的文章,才知道这些概念对我以后数据库学习非常重要,所以要好好的研究研究这些概念,在这里也分享一下我的学习结果。
实体,客观存在的,不以主观意志转移的东西,可以相互区别。比如说人啊事啊物啊,也可以是抽象出来的概念或这数据的联系。一个职工、一个学生、一个部门、一门课程都是实体。
属性,实体的特征,比如一个人,姓名、性别等都是属性。在数据库中一个实体就是靠属性来表述的。
码,唯一标识实体的属性集成为码,这个其实很好理解,比如一个人如果按身份证号来识别的话,那身份证号就是码;姓名有时候就不行,因为有同名的人哦,当我喊一个人的时候,如果有同名的,就不知道我在叫谁了。
域,属性的取值范围,虚拟主机,就是值域的意思,比如性别的域为(男,女),不过遇到人妖这样的,就不好办了哈。
实体型,把相同属性的实体用实体名和属性名来刻画,算是一个模型了吧,比如学生(学号,姓名,性别,……)。
实体集,就是同一类型的集合,如全体学生就是一个实体集。
联系,在生活中各事物内部以及事物之间是有联系的,这些抽象到信息世界中后就是实体与实体或者实体型与实体型之间的关系。内部联系是各属性之间的关系,外部联系即实体之间的关系是指不同实体集之间的关系,抽象出来就是实体型之间的关系。
有一个问题在这提一下,如下:
(9400,张四,男,19881219,信管系,2007)是表示了一个学生;
学生(学号,姓名,性别,生日,专业,级别)是学生这个实体型;
{(9400,张四,男,19881219,信管系,香港虚拟主机,2007),(9401,张三,男,19881211,信管系,2007),……}表示一个实体集。
来看一下实体、实体型和实体集之间的关系:实体是直接从生活中抽象出来的,实体型是把实体的共同属性抽象出来,实体集就是实体的一个集合,实体是实体型在某一时刻属性取值确定的,可以这么理解,实体型和实体就像是数据类型和变量一样,比如int类型的变量i,取值为0。
看一下实体型之间的联系,实体型之间的联系其实是实体集之间存在的某种业务关系。分一对一的联系、一对多的联系和多对多的联系。如若实体集A中的每个实体在实体集B中有N个实体(N1)与之联系,反之,对于实体集B中的每一个实体A中至多只有一个实体与之对应,则称实体集A与B具有一对多联系,记为1:N;如若对实体集A中的每个实体,B中有N个实体(N>1)与之对应,反之,美国空间,B中的每个实体,A中也有N个实体(N>1)与之对应,责成两实体集具有多对多的联系。其实一对一和一对多是多对多联系当中的特殊情况,所以多对多联系定义中的N取值只取大于一的情况。这里用Visio软件画了一下,如下图:
另外好多资料中提及到了两个以上的实体之间的联系,本人觉得就是来一百个,我也是把它变成任意两个之间的联系来分析,所以对于两个以上实体之间的联系我决定不在详细了解。
有经验的网友可能发现了,其实还有一种状况就是单个实体型内的联系。这种情况并不陌生,比如职工实体型中领导与被领导的联系,部门下的下一级别职能部门都是这种状况。而且这两种都是一对多的联系,如下图:
概念模型的基本概念了解完了,看看如果用方法来表示这种模型。一种表示方法就是实体-联系方法。这种方法呢在这里只作部分了解,到以后的数据库设计的时候再信息了解。该方法用E-R图来描述现实世界的概念模型,它提供了表示实体型、属性和联系的方法。实体型用矩形表示,属性用椭圆表示,联系用菱形表示,实体型和属性之间用无向边连接起来,另外一些联系也有属性,它们之间也是用无向边连接。
好了,这次随笔就写到这了,下次随笔就要学习逻辑模型咯。对了,学习的过程中呢多注意一下健康,在这里贴一则网上流转的[老中医顺口溜],和大家分享:红薯食来好处多,香菇赛过抗癌药;白菜通便排毒素,瓜豆消肿又利尿;番茄补血有润肤,芹菜降压抗衰老;苦瓜清心又明目,黄瓜减肥清热好;玉米抑制胆固醇,山楂降压抗衰老;花生降脂治贫血,健脑乌发吃核桃;芝麻润肤又乌黑,蜂蜜益寿又润燥;依据情况选食疗,多样进食营养好。
posted on
Powered by:
博客园
Copyright © 满天海晨星

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

MySQL适合小型和大型企业。1)小型企业可使用MySQL进行基本数据管理,如存储客户信息。2)大型企业可利用MySQL处理海量数据和复杂业务逻辑,优化查询性能和事务处理。

InnoDB通过Next-KeyLocking机制有效防止幻读。1)Next-KeyLocking结合行锁和间隙锁,锁定记录及其间隙,防止新记录插入。2)在实际应用中,通过优化查询和调整隔离级别,可以减少锁竞争,提高并发性能。

MySQL不是一门编程语言,但其查询语言SQL具备编程语言的特性:1.SQL支持条件判断、循环和变量操作;2.通过存储过程、触发器和函数,用户可以在数据库中执行复杂逻辑操作。

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
视觉化网页开发工具