数据库发展的那点事
我学数据库(1)--数据库发展的那点事 自己在学习MSSQL搜集资料的同时,注意做了点记录和思考,并将自己的学习心得放在在里面,所以不要看着标题厌烦就不读哦,里面的内容还是挺好的,在以后的随笔当中我尽量不让文字太生硬,毕竟我也不喜欢生硬的动西,快乐学
我学数据库(1)--数据库发展的那点事
自己在学习MSSQL搜集资料的同时,注意做了点记录和思考,并将自己的学习心得放在在里面,所以不要看着标题厌烦就不读哦,里面的内容还是挺好的,在以后的随笔当中我尽量不让文字太生硬,毕竟我也不喜欢生硬的动西,快乐学习嘛,这也是我在参加工作后一直坚持的,欢迎大家过来看看,并在以后时间里给予多多的支持。
任何东西都是从无到有的,这是大自然的定律。任何东西的存在与繁荣都是基于它满足了某种需求这个条件,也就是我们说的存在即合理。说数据库熟悉是因为现在它的普遍性,说它陌生是因为它的专业性,而且我也不是专门研究数据库知识的。那它是怎样从无到有?又是怎样从有到优,逐渐满足多领域业务需要的呢?我带着这个疑问开始去搜集了资料,自己学习整理了一下,在这里分享给大家。
数据库的历史可以追溯到60年前,那时的数据管理非常简单,基本上靠人工还有通过大量的简单机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片,而数据管理就是对所有这些穿孔卡片进行物理的储存和处理,属于顺序存储数据。1 9 5 1 年,雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,于是一场关于数据管理的革命开始了。1956 年IBM生产出第一个磁盘驱动器— the Model 305 RAMAC,这真是成了开天始祖啦。这也奠定了IBM之后在此领域的领先位置。此驱动器有50 个盘片,每个盘片直径是2 英尺,可以储存5MB的数据,5MB啊,现在看来还不到一首歌的容量,可在当时那就是一个巨大的进步啊。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。你看人家IBM,至1911建立都100多年了,经久不衰,很厉害的一个公司。(注明:1英尺=12英寸=0.3048 米,另外我找了一下这个公司的资料:雷明顿兰德公司Remington Rand,1927年-1986年,是美国早期的一家电脑制造商,这家公司最为人熟知的即是它为UNIVAC I电脑的原造厂,而今它已成为优利系统Unisys公司的一部份。有一阵子"univac"一字几乎是"computer"的代名词。)
那时候,也就是50年代这10年,数据管理技术已经经历了两个阶段:人工管理阶段和文件系统阶段。人工管理阶段数据不会被长期保存,没有特定的系统软件负责数据的管理,当然数据也不能很好的被共享而且数据之间独立性不强。文件系统阶段,数据不仅可以长期保存而且有专门的文件系统管理数据,但是共享性差冗余度大以及数据独立性差的缺点仍没能得到解决。(注明:数据独立性是数据库系统追求的一个重要目标,包括物理独立性和逻辑独立性,它要求数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变;还要求当数据的逻辑结构改变时,用户程序也可以不变。)
至1946年第一台计算机出现之后过去了15年,也就是60年代,计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求,数据的共享性差、冗余度大以及独立性差的问题亟待解决。在这种情况下,数据库管理系统应运而生。要统一管理和共享数据不是一件简单的事,构建数据模型是重中之重,这是数据库管理系统的核心和基础。对于数据模型来说,如果是计算机专业和软件专业的并不陌生。数据模型是数据特征的抽象,是数据库系统中用以提供信息表示和操作手段的形式构架,其实这句话的意思就是如何表示去表示数据和操作数据,还有如何表示数据之间的关系,其实这句话表明了数据库数据模型的组成要素:数据的结构部分、数据的操作部分和数据的约束条件。数据结构就是主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。数据操作主要描述在相应的数据结构上的操作类型和操作方式。数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。(注明:是不是看这些东西有点摸不着头脑啊?没办法,忍一忍吧,下面还有呢。数据库管理系统打起来挺麻烦的,以后再出现就以DBMS代替。)
数据模型按不同的应用层次分成三种类型:概念数据模型、逻辑数据模型、物理数据模型。这都是些比较难懂的概念,而且都是很专业的解释,没办法,理论就是这样字,因为空洞所以才难懂。概念数据模型简称概念模型,是面向数据库用户的现实世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的DBMS无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。逻辑数据模型简称逻辑模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等等。此模型既要面向用户,又要面向系统,主要用于DBMS的实现。物理数据模型简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,网站空间,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成。各种DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
接下来就介绍一些早期的DBMS产品吧。最早出现的是网状 DBMS,是美国通用电气公司Bachman等人在1961年开发成功的IDS(Integrated Data Store)。1961年通用电气公司的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统--集成数据存储(Integrated Data Store IDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS 具有数据模式和日志的特征。但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。之后通用电气公司一个客户—BF Goodrich Chemical 公司最终不得不重写了整个系统,并将重写后的系统命名为集成数据管理系IDMS。网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。(注明:GE主机,即通用电气主机)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

Hibernate多態映射可映射繼承類別到資料庫,提供以下映射類型:joined-subclass:為子類別建立單獨表,包含父類別所有欄位。 table-per-class:為子類別建立單獨資料表,僅包含子類別特有列。 union-subclass:類似joined-subclass,但父類別表聯合所有子類別列。

PHP處理資料庫連線報錯,可以使用下列步驟:使用mysqli_connect_errno()取得錯誤代碼。使用mysqli_connect_error()取得錯誤訊息。透過擷取並記錄這些錯誤訊息,可以輕鬆識別並解決資料庫連接問題,確保應用程式的順暢運作。

如何在PHP中使用MySQLi建立資料庫連線:包含MySQLi擴充(require_once)建立連線函數(functionconnect_to_db)呼叫連線函數($conn=connect_to_db())執行查詢($result=$conn->query())關閉連線( $conn->close())

在Golang中使用資料庫回呼函數可以實現:在指定資料庫操作完成後執行自訂程式碼。透過單獨的函數新增自訂行為,無需編寫額外程式碼。回調函數可用於插入、更新、刪除和查詢操作。必須使用sql.Exec、sql.QueryRow或sql.Query函數才能使用回呼函數。

可以透過使用gjson函式庫或json.Unmarshal函數將JSON資料儲存到MySQL資料庫中。 gjson函式庫提供了方便的方法來解析JSON字段,而json.Unmarshal函數需要一個目標類型指標來解組JSON資料。這兩種方法都需要準備SQL語句和執行插入操作來將資料持久化到資料庫中。

透過Go標準庫database/sql包,可以連接到MySQL、PostgreSQL或SQLite等遠端資料庫:建立包含資料庫連接資訊的連接字串。使用sql.Open()函數開啟資料庫連線。執行SQL查詢和插入操作等資料庫操作。使用defer關閉資料庫連線以釋放資源。

PHP連接資料庫指南:MySQL:安裝MySQLi擴展,建立連線(servername、username、password、dbname)。 PostgreSQL:安裝PgSQL擴展,建立連線(host、dbname、user、password)。 Oracle:安裝OracleOCI8擴展,建立連線(servername、username、password)。實戰案例:取得MySQL資料、PostgreSQL查詢、OracleOCI8更新記錄。
