【SQL Server数据库】熟悉DBMS的基本操作及数据库的创建

目录

一、SQL SERVER基本操作

二、用Management Studio创建数据库

1、使用Management Studio创建数据库bookdb,各项参数采用默认设置。

2、使用Management Studio创建数据库EDUC

 3. 在EDUC中创建三个表,根据下面要求创建Student,Course,StudentGrade表。

三、实验小结

1.比较分析ACCESS、SQL SERVER、ORACLE数据库,各有何特点?各自适用于什么情况?

2.常用的数据库管理系统有哪些?当下比较流行的有哪些?

四、作业 

1、试述数据模型的概念、数据模型的作用和数据模型的三个要素。

2、试述数据库系统三级模式结构,这种结构的优点是什么?

3、解释下列术语

4、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?

5、DBA(数据库管理员)的职责是什么?


一、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

班级编号

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

课程介绍

create table Course(Course_id varchar(4) primary key NOT NULL,Course_name varchar(20) ,Course_hour int default 60 ,		-- 默认值60Intruduce varchar(200)  
);

StudentGrade

字段名

类型

长度

主键

外键

允许空

含义(字段说明)

Stu_id

Varchar

10

Y (组合主键)

Y(Student(Stu_id))

N

学号

Course_id

Varchar

4

Y (组合主键)

Y(Course(Course_id))

N

课程号

Grade

Decimal

9,2

成绩

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表:

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表:

insert into Course values
('1001','数据库原理',78,'教会学生一些原理和如何去用数据库'),
('1002','算法分析与设计',78,'教会学生基础算法'),
('1003','操作系统',78,'教会学生操作系统相关知识'),
('1004','Java Web程序设计',78,'教会学生制作项目等')

StudentGrade表:

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)数据库的改进和重组、重构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第01天|基本介绍快速入门

一、什么是昇思MindSpore? 昇思MindSpore是一个全场景深度学习框架,详见基本介绍 那什么是深度学习呢? 深度学习是一种特殊的机器学习,主要是利用了多层神经网络模拟人脑,自动提取特征并进行预测。 什么是机器学习…

Mac Terminal常用命令

1. 文件和目录操作: #ls : 列出当前目录下的文件和子目录 -- ls(list) #cd : 进入指定目录。 -- cd Documents。 cd(change directory)cd ..:返回上一级cd ~:返回家目录cd /:返回根目录 cd Documents/ 前往“文稿” #pwd : 显示当前工作目录的完整路径 -- pwd(prin…

【C++】模板详解

前言:在之前的学习我们发现我们无时无刻都用到模板这个东西,但是博主一直没有进行讲解,今天我们就一次性对模板进行一个整体的学习与讲解。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&#…

Java 8 Stream API 中 distinct() 与 distinctByKey() 的区别是什么?如何使用它们来过滤重复元素?

在Java 8中,Stream API是一个强大的工具,它允许以声明性的方式处理数据集合,使得代码更加简洁且易于理解。distinct()和distinctByKey()是两种用于过滤重复元素的方法,虽然后者不是标准库直接提供的,但可以通过一些技巧…

计算机毕业设计Python+LSTM+Tensorflow股票分析预测 基金分析预测 股票爬虫 大数据毕业设计 深度学习 机器学习 数据可视化 人工智能

基于TensorFlow-LSTM的股票预测系统开题报告 一、研究背景与意义 随着信息技术的飞速发展,股票市场作为现代经济活动的重要组成部分,其价格波动受到广泛关注。投资者们迫切希望通过科学的方法预测股票价格,以优化投资决策,实现利…

【Java06】Java中的类与对象

1. 类和对象 Java中的类模版如下: [修饰符] class 类名 {0~n个构造器;0~n个成员变量;0~n个成员方法; }构造器是类创建对象的根本途径。如果没有显式定义构造器,系统会默认提供一个。成员变量、成员方法的定义和C类似,只不过多了修饰符。 Ja…

Interview preparation--elasticSearch正排索引原理

正排索引 ElastciSearch 适合做或者说擅长做全文检索,在做全文检索的时候,他会通过生成倒排索引的方式来辅助查询,生成一个词项到 文档id的一个倒排表,这样直接通过 词项可以快速找到所有的 稳定信息。 但是并不是所有的搜索都是…

python第一个多进程爬虫

使用 multiprocessing 模块实现多进程爬取股票网址买卖数据的基本思路是: 定义爬虫函数,用于从一个或多个股票网址上抓取数据。创建多个进程,每个进程执行爬虫函数,可能针对不同的股票或不同的网页。使用 multiprocessing.Queue …

前端基础——自学习梳理

超文本协议HTML <!DOCTYPE HTML> <html><head><meta charset"utf-8"> <style> /*Css*/.sty1{height:100px;width:100px;background-color: red;margin-top: 10px;float:left;margin-left: 10px;box-shadow: 10px 10px 10px #0000…

多路h265监控录放开发-(14)通过PaintCell自定义日历控件继承QCalendarWidget的XCalendar类

首先创建一个新类XCalendar继承QCalendarWidget类&#xff0c;然后在UI视图设计器中把日历提升为XCalendar&#xff0c;通过这个函数自己设置日历的样式 xcalendar.h #pragma once #include <QCalendarWidget> class XCalendar :public QCalendarWidget { public:XCal…

2024.06.24 刷题日记

17. 电话号码的字母组合 依然是昨天的回溯&#xff0c;思路是根据 index&#xff0c;来确定要回溯的对象&#xff1a; class Solution { public:vector<string> letterCombinations(string digits) {vector<string> results;if (digits.empty())return results; …

Linux 运维王者从不离手的10款工具

运维工程师在日常工作中频繁运用的10款工具&#xff0c;并细致阐述每款工具的功能、适用场景以及其卓越之处。 1. Shell脚本 功能&#xff1a;主要用于自动化任务和批处理作业。 适用场景&#xff1a;频繁用于文件处理、系统管理、简单的网络管理等操作。 优势&#xff1a;灵…

Java 抽象类

目录 1、什么是抽象类 2、定义抽象类 3、抽象类特性 4、 抽象类的作用 1、什么是抽象类 抽象类&#xff0c;顾名思义就是抽象的。该类没有包含足够的信息去描绘一个具体的对象&#xff0c;这样的类称为抽象类。抽象类着一种优化了的概念组织方式&#xff0c;它是所有子类的…

研究上百个小时,高手总结了这份 DALL-E 3 人物连续性公式(上)

上篇 Dall-E 3 讲了常见的 20 个公式&#xff0c;今天单独来讲一下人物连续性公式&#xff0c;这个公式来自 AshutoshShrivastava。 上篇回顾&#xff1a; 效果超好&#xff01;全新 DALL-E 3 必须掌握的 20 种公式使用方法上周末&#xff0c;DALL-E 3 正式加入 ChatGpt&…

嵌入式实验---实验八 ADC电压采集实验

一、实验目的 1、掌握STM32F103ADC电压采集程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用STM32F103R6采集可变电阻上的电压信号&#xff0c;并通过计算把当前ADC转换值和电压值显示在LCD1602液晶屏上&#xff1b; 2、对照电压表读数&…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇域控系统提权NetLogonADCSPACKDC永恒之蓝CVE漏洞

红队内网攻防渗透 1. 内网横向移动1.1 横向移动-域控提权-CVE-2020-1472 NetLogon1.2 横向移动-域控提权-CVE-2021-422871.3 横向移动-域控提权-CVE-2022-269231.4 横向移动-系统漏洞-CVE-2017-01461.5 横向移动-域控提权-CVE-2014-63241. 内网横向移动 1、横向移动-域控提权-…

【问题】Ubuntu下使用ftp命令下载文件

Ubuntu下使用ftp命令下载文件具体的方法示例如下: $ ftp 192.168.180.3 Connected to 192.168.180.3. Name (192.168.180.3:test): 此处输入用户名 Password:此处输入对应的密码 /*查看当前路径*/ ftp> pwd 257 "/" is current directory. ftp> cd test …

为冲刺IPO,喜马拉雅曝裁员20%?钉钉叶军吐槽百度搜索;美国制裁俄罗斯安全软件12名高管;华为自研语言仓颉力战Java

一、商业圈 1.钉钉总裁叶军吐槽百度搜索&#xff1a;前十条都是广告 钉钉总裁叶军在亚布力中国企业家论坛第十届创新年会上发表了演讲&#xff0c;期间他直言不讳地对百度搜索提出了批评。叶军指出&#xff0c;在OpenAI推出智能聊天机器人ChatGPT之后&#xff0c;百度的传统搜…

C++系统相关操作5 - 获取C++标准的版本

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词&#xff1a; C 标准库 STL 版本 指令集 跨平台 应用场景&#xff1a; 根据C的版本决定使用不同的函数接口打印系统日志。 2. sysutil.h #pragma once#include <cstdint> …

【Web APIs】JavaScript 事件基础 ② ( “ 事件 “ 开发步骤 | 常见鼠标 “ 事件 “ )

文章目录 一、" 事件 " 开发步骤1、" 事件 " 开发步骤2、完整代码示例 二、常见鼠标 " 事件 "1、常见鼠标 " 事件 "2、鼠标 " 事件 " 代码示例 Web APIs 博客相关参考文档 : WebAPIs 参考文档 : https://developer.mozilla…