第一章 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 Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go 언어는 효율적이고 간결하며 배우기 쉬운 프로그래밍 언어입니다. 동시 프로그래밍과 네트워크 프로그래밍의 장점 때문에 개발자들이 선호합니다. 실제 개발에서 데이터베이스 작업은 필수적인 부분입니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. Go 언어에서는 일반적으로 사용되는 SQL 패키지, Gorm 등과 같은 타사 라이브러리를 사용하여 데이터베이스를 운영합니다. 여기서는 sql 패키지를 예로 들어 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법을 소개합니다. MySQL 데이터베이스를 사용하고 있다고 가정합니다.

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

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는 웹사이트 개발에 널리 사용되는 백엔드 프로그래밍 언어로, 강력한 데이터베이스 운영 기능을 갖추고 있으며 MySQL과 같은 데이터베이스와 상호 작용하는 데 자주 사용됩니다. 그러나 한자 인코딩의 복잡성으로 인해 데이터베이스에서 잘못된 한자를 처리할 때 문제가 자주 발생합니다. 이 기사에서는 잘못된 문자의 일반적인 원인, 솔루션 및 특정 코드 예제를 포함하여 데이터베이스에서 중국어 잘못된 문자를 처리하기 위한 PHP의 기술과 사례를 소개합니다. 문자가 왜곡되는 일반적인 이유는 잘못된 데이터베이스 문자 집합 설정 때문입니다. 데이터베이스를 생성할 때 utf8 또는 u와 같은 올바른 문자 집합을 선택해야 합니다.

Golang의 데이터베이스 콜백 기능을 사용하면 다음을 달성할 수 있습니다. 지정된 데이터베이스 작업이 완료된 후 사용자 정의 코드를 실행합니다. 추가 코드를 작성하지 않고도 별도의 함수를 통해 사용자 정의 동작을 추가할 수 있습니다. 삽입, 업데이트, 삭제, 쿼리 작업에 콜백 함수를 사용할 수 있습니다. 콜백 함수를 사용하려면 sql.Exec, sql.QueryRow, sql.Query 함수를 사용해야 합니다.
