第一章 SQL Server数据库基础
数据库(Database)技术是程序开发人员必须掌握的技术之一,调查数据显示,目前70%以上的应用软件都需要使用到数据库系统,也就是说,大多数应用系统都需要把数据库进行分类、存储和检索。 本章将介绍SQL Server数据库的基本操作,例如建立数据库、表、对表实
数据库(Database)技术是程序开发人员必须掌握的技术之一,调查数据显示,目前70%以上的应用软件都需要使用到数据库系统,也就是说,大多数应用系统都需要把数据库进行分类、存储和检索。
本章将介绍SQL Server数据库的基本操作,例如建立数据库、表、对表实施约束以满足数据的规范性要求,本章的重点将集中在基本的增加、修改、删除和查询语句。
有关数据库设计、数据库高级对象和复杂的查询,将在后续课程中涉及。
本章内容主要包括与数据库相关的背景知识以及一些基本概念和术语,还包括SQL Server管理器(SQL Server Management Studio)的基本操作,以及在管理器中创建和配置数据库的方法等。
1.1 使用数据库的必要性
统计表明,2006年全球制造、复制出的数字信息量共计1610亿GB,大约是有史以来出版的图书信息总量的300万倍。从2006-2010年,数字信息量将增长6倍多。中国的数字信息量为127.1亿GB,占全球信息量的7.9%,这些信息大多数都基于多媒体内容、用户创建内容、16亿网民创建和传阅的信息,到2010年,全球数字信息量预计为9880亿GB。
大量的数据、信息在不断产生,伴随而来的是如何安全有效地存储、检索、管理它们。对数据的有效存储、高校访问、方便共享和安全控制等问题成为信息时代的一个非常重要的问题。
使用数据库可以高校且条理分明地存储数据,它使人们能够更加迅速和方便地管理数据,主要体现在以下几个方面。
(1)可以机构化存储大量的数据信息,方便用户进行有效的检索和访问。数据库可以对数据进行分类保存,并且能够提供快速的查询,例如我们去Google搜索我们想要的数据,实际上,Google也是基于数据库和数据分类技术来达到快速搜索的目的的。
(2)可以有效地保持数据信息的一致性、完整性,降低数据冗余。保存在数据库中的数据,可以很好地保存数据有效,不被破坏,而且数据自身有避免重复数据的功能,以此来降低数据的冗余。
(3)可以满足应用的共享和安全方面的要求。
把数据库放在数据库中在很多情况下也是出于安全的考虑,例如,如果把所有员工的信息、工资数据都放在磁盘文件上,那么工资的保密性就无从谈起,如果把员工信息和工资信息放在数据库中,则可以只允许查询和修改员工信息,而工资信息只允许财务人员查看,从而可以保证数据的安全性。
(4)数据库技术能够方便智能化地分析,产生新的有用信息。
例如,超市中把物品销售信息保存在数据库中,每个月销售情况的排名情况实际上决定下个月进货数量,数据库查询的信息实际上产生了新的“信息”。
数据挖掘、联机分析技术最近发展非常快,其核心意义在于从一堆数据中分析出有用的新信息。
1.2 DBMS(数据库管理系统)的发展史
数据库系统从20世纪50年代萌芽,20世纪60年代中期产生,到21世纪初,已经有40多年的历史,其间发生的巨大变化和得到的巨大成就是其他技术所远不及的。短短40年间,已经从第一代的网状、层次数据库,第二代的关系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。其中,数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透,互相结合,成为当前数据库技术发展的主要特征。
1.2.1 萌芽阶段---文件系统
文件系统是数据库系统的初级阶段,它出现在20世纪50-60年代,可以提供简单的数据共享和管理,但无法提供完整统一的管理和数据共享能力。
由于它的功能较为简单,均附属于操作系统,并不成为独立的软件,所以一般把它视为数据库系统的原形,而不是严格意义上的数据库系统。
基于文件系统的数据库系统虽然功能简单,但因为文件系统通常都能提供目录结构简单的文件组织形式,又往往直接作为操作系统的基本用户界面提供给客户使用,所以在管理较少、较为简单的数据,或者仅仅只是用来备份存储,极少用来查询,或查询要求比较简单的情况下,能够满足一定的应用需求。
例如:企业员工提交工作计划、工作日志,常常使用电子文档的方式提交,这些提交的电子文档常被要求保存为具有格式名称的Word文件或纯文本文件,这样做有时候会很方便。文件压缩工具(如 ZIP 工具)和文件打包工具(如 TAR 工具)都是这个阶段的产物,并一起发展升级,现在还被广泛应用。
1.2.2 初级阶段---第一代数据库
自20世纪60年代起,第一代数据库系统相继问世,它们是层次模型与网状模型的数据库系统,为统一管理和共享数据提供了有力的支撑。在这个时期,由于数据库系统的蓬勃发展,形成了注明的“数据库时代”。当然,这两种类型的数据库系统也有一定的不足,最主要的是,它们均脱胎于文件系统,因此,受文件物理结构的影响较大,用户在使用数据库时,需要对数据的物理结构有详细的了解,这对使用数据库的人员带来了许多麻烦。同时,数据库中表示数据模式的机构方式过于繁琐,也影响了数据库应用中越来越多的对数据结构的复杂要求的实现。
在这个阶段中,网状模型的数据库由于它的复杂性、专用性,没有被广泛使用,而在层次模型数据库中,IBM公司的IMS(Information Management System,信息管理系统)层次模型数据库系统得到了极大的发展,不仅一度成为最大的数据库管理系统,拥有巨大的客户群,而且直到现在,仍然得到升级和支持,并不断与新技术结合,在特定的领域内体现出强大的生命力。
1.2.3 中级阶段---第二代数据库
20世纪70年代初,随着数学基础方面取得的巨大成就,第二代数据库---关系数据库开始萌芽。
自1970年IBM研究员德加·考特发表论文,阐述了关系模型的概念后,IBM大力投入关系数据库的研究。关系模型的数据库底层实现起来比较容易,所以很快被采用,并进入了众多商业数据库的研发计划,Oracle就是当时应关系数据模型的出现,而成立的一家专做(关系)数据库的公司。20世纪80年代初,IBM公司的关系数据库系统DB2问世,而Oracle公司将Oracle移植到桌面计算机上,这时,作为第二代数据库系统的关系数据库开发逐步取代层次与网状模式的数据库,成为占主导地位的数据库,成为行业主流。到目前为止,关系型数据库系统仍居数据库应用的主要地位。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。
