目录
[一、SQL SERVER基本操作](#一、SQL SERVER基本操作)
[二、用Management Studio创建数据库](#二、用Management Studio创建数据库)
[1、使用Management Studio创建数据库bookdb,各项参数采用默认设置。](#1、使用Management Studio创建数据库bookdb,各项参数采用默认设置。)
[2、使用Management Studio创建数据库EDUC](#2、使用Management Studio创建数据库EDUC)
[3. 在EDUC中创建三个表,根据下面要求创建Student,Course,StudentGrade表。](#3. 在EDUC中创建三个表,根据下面要求创建Student,Course,StudentGrade表。)
[1.比较分析ACCESS、SQL SERVER、ORACLE数据库,各有何特点?各自适用于什么情况?](#1.比较分析ACCESS、SQL SERVER、ORACLE数据库,各有何特点?各自适用于什么情况?)
1、试述数据模型的概念、数据模型的作用和数据模型的三个要素。
4、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?
一、SQL SERVER基本操作
1.上网搜索能够正常安装的SQL Server的软件。
2.了解数据库的相关概念。通过实践初步了解使用SQL Server Management的使用。
3.掌握SQL Server的启动、退出、暂停,组成配置,基本工具及常用操作。
4.查看本机上有哪些数据库(包括系统数据库和用户数据库),请记录下来。
系统数据库:master、model、msdb、tempdb
二、用Management Studio创建数据库
1、使用Management Studio 创建数据库bookdb,各项参数采用默认设置。
create database bookdb;
2、使用Management Studio 创建数据库EDUC
EDUC参数设置如下表:
|--------|-----------------------|------------------------|
| | 数据文件 | 日志文件 |
| 逻辑名 | EDUC_dat | EDUC_log |
| 物理文件名 | D:\EDUC_DAT**.** MDF | D:\ EDUC_LOG**.** LDF |
| 初始大小 | 5MB(2014要求最小5M) | 1MB |
| 最大文件大小 | 10MB | 无限制 |
| 文件增长量 | 1MB | 10% |
建数据库如下:
3. 在EDUC中创建三个表,根据下面要求创建Student,Course,StudentGrade表。
Student :
|-----------|----------|-----|----|-----|------------------|
| 字段名 | 类型 | 长度 | 主键 | 允许空 | 含义(字段说明) |
| Stu_id | Varchar | 10 | Y | N | 学号 |
| Stu_name | Varchar | 10 | | N | 姓名 |
| Stu_sex | Varchar | 2 | | | 性别,默认值"男" |
| Birthdate | Datetime | | | | 出生年月 |
| Phone | Varchar | 8 | | | 电话,共8位,以'3935'开头 |
| Address | Varchar | 100 | | | 地址 |
| Class_id | Varchar | 4 | | N | 班级编号 |
sql
create table Student(
Stu_id varchar(10) primary key NOT NULL,
Stu_name varchar(10) NOT NULL,
Stu_sex varchar(2) default ('男') ,
Birthdate datetime ,
Phone varchar(8) ,
Addresss varchar(100) ,
Class_id varchar(4) NOT NULL ,
CONSTRAINT Phone CHECK (Phone like '^3935[0-9][0-9][0-9][0-9]')
);
Course:
|-------------|---------|-----|----|-----|----------|
| 字段名 | 类型 | 长度 | 主键 | 允许空 | 含义(字段说明) |
| Course_id | Varchar | 4 | Y | N | 课程号 |
| Course_name | Varchar | 20 | | | 课程名 |
| Course_hour | Int | | | | 学时,默认值60 |
| Introduce | Varchar | 200 | | | 课程介绍 |
sql
create table Course(
Course_id varchar(4) primary key NOT NULL,
Course_name varchar(20) ,
Course_hour int default 60 , -- 默认值60
Intruduce varchar(200)
);
S tudentGrade :
|-----------|---------|-----|----------|----------------------|-----|----------|
| 字段名 | 类型 | 长度 | 主键 | 外键 | 允许空 | 含义(字段说明) |
| Stu_id | Varchar | 10 | Y (组合主键) | Y(Student(Stu_id)) | N | 学号 |
| Course_id | Varchar | 4 | Y (组合主键) | Y(Course(Course_id)) | N | 课程号 |
| Grade | Decimal | 9,2 | | | | 成绩 |
sql
create table StudentGrade(
Stu_id varchar(10),
Course_id varchar(4),
Grade DECIMAL(9,2),
constraint pk_stu_con primary key(Stu_id,Course_id),
constraint fk_stu foreign key (Stu_id) references dbo.Student(Stu_id),
constraint fk_con foreign key (Course_id) references dbo.Course(Course_id)
);
4. 请在各表中添加数据。
对于Student表,请输入如下数据,Course、StudentGrade自行输入合理数据。
Student表:
sql
insert into Student values
('1107505001','刘晨','男','1990-1-16 00:00:00','39352201','广药宿舍10栋203','0101'),
('1107505002','王丽','女','1989-3-20 00:00:00','39351023','广药宿舍8栋607','0101'),
('1107505003','冯峰','男','1991-1-9 00:00:00',null,'广药宿舍10栋203','0102'),
('1107505004','张晓红','女','1990-8-21 00:00:00','39353021','广药宿舍8栋607','0204'),
('1107505005','张力','男',null,null,'广药宿舍10栋203','0103'),
('1107505006','马凤励','女','1989-8-24 00:00:00',null,'广药宿舍8栋607','0103')
Course表:
sql
insert into Course values
('1001','数据库原理',78,'教会学生一些原理和如何去用数据库'),
('1002','算法分析与设计',78,'教会学生基础算法'),
('1003','操作系统',78,'教会学生操作系统相关知识'),
('1004','Java Web程序设计',78,'教会学生制作项目等')
StudentGrade表:
sql
insert into StudentGrade values
('1107505001', '1001', 95)
将数据库bookdb的相关属性,填入下表:
|-------|---------------------|-----------------------------------------------------------|
| 项目 || 内容 |
| | 数据库所有者 | 笨笨小煊\86189 |
| | 数据库名称 | bookdb |
| 数据 文件 | 逻辑文件名 | bookdb |
| 数据 文件 | 文件组 | PRIMARY |
| 数据 文件 | 物理文件名(即数据文件存放的物理路径) | D:\MYSQL\SQLServer\R\MSSQL16.MSSQLSERVER\MSSQL\DATA |
| 数据 文件 | 文件初始大小 | 8MB |
| 数据 文件 | 数据文件最大值(最大文件大小) | 无限制(Unlimited) |
| 数据 文件 | 数据文件增长量 | 64MB |
| 日志 文件 | 逻辑文件名 | bookdb_log |
| 日志 文件 | 物理文件名(即日志文件存放的物理路径) | D:\MYSQL\SQLServer\R\MSSQL16.MSSQLSERVER\MSSQL\DATA |
| 日志 文件 | 文件初始大小 | 8MB |
| 日志 文件 | 数据文件最大值(最大文件大小) | 2097152MB |
| 日志 文件 | 数据文件增长量 | 64MB |
三、实验小结
1.比较分析ACCESS、SQL SERVER、ORACLE数据库,各有何特点?各自适用于什么情况?
Access是一种桌面数据库,只适合于数据量少的应用系统,在处理少量数据和单机访问的数据时是很好的,效率也很高。但是Access数据库有一定的极限,如果数据达到100M左右,那么很容易造成Access假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用。在处理海量数据的效率、后台开发的灵活性、可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以,如果是标准SQL语言,那么两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程、函数等。
Oracle是基于服务器的大型数据库,主要应用于银行、证券类业务等。
2.常用的数据库管理系统有哪些?当下比较流行的有哪些?
MySQL: 作为最受欢迎的开源数据库管理系统之一,MySQL以其高性能、灵活性和易用性而受到广泛赞誉。它支持多种操作系统,适用于各种规模的企业和个人用户。MySQL具有强大的查询优化能力,能够处理大量并发连接,非常适合构建高度动态的Web应用程序。
PostgreSQL: 作为一款功能强大且稳定的开源数据库管理系统,PostgreSQL具有丰富的数据类型和支持事务完整性的特性,使其成为开发复杂应用的理想选择。PostgreSQL还提供了大量的内置函数和工具,使得开发者能够轻松地创建复杂的查询和应用。
Oracle Database: Oracle Database是一款企业级的数据库管理系统,以其高可用性、可扩展性和性能而闻名。Oracle Database支持多种架构和技术,能够满足大型企业对数据存储和管理的严格要求。通过使用Oracle Database,企业可以实现数据的集中管理和实时分析,从而提高业务运营效率。
Microsoft SQL Server: 微软推出的SQL Server是一款全面的数据库管理系统,适用于从小型企业到大型企业的各种规模的应用场景。SQL Server具有强大的数据处理能力和高度的可定制性,可以帮助企业实现数据的快速存储和分析。此外,SQL Server还与Microsoft的其他产品(如Windows和服务器)紧密集成,提供了良好的用户体验。
比较流行的是MYSQL、Oracle、SQL Server
四、作业
1、试述数据模型的概念、数据模型的作用和数据模型的三个要素。
概念:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。
数据模型通常由数据结构、数据操作和完整性约束三部分组成。
(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。解析数据模型是数据库系统中最重要的概念之一。
作用:数据模型是数据库系统的基础。任何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中,模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。
2、试述数据库系统三级模式结构,这种结构的优点是什么?
答:数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMs 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
3、解释下列术语
DDL:(define)数据定义语言,用来定义数据库模式、外模式、内模式的语言。
DML:(maniply)数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。
4、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?
(1)数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
5、DBA(数据库管理员)的职责是什么?
(1)决定数据库中的信息内容和结构;
(2)决定数据库的存储结构和存取策略;
(3)定义数据的安全性要求和完整性约束条件;
(4)监控数据库的使用和运行;
(5)数据库的改进和重组、重构。