我学数据库(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 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版
中文版,非常好用