【数据库实验一】数据库及数据库中表的建立实验

目录

实验1  学习RDBMS的使用和创建数据库

一、 实验目的

二、实验内容

三、实验环境

四、实验前准备

五、实验步骤

六、实验结果

七、评价分析及心得体会

实验2 定义表和数据库完整性

一、 实验目的

二、实验内容

三、实验环境

四、实验前准备

五、实验步骤

六、实验结果

七、评价分析及心得体会


实验1  学习RDBMS的使用和创建数据库

一、 实验目的

(1)熟悉某一RDBMS产品(如:SQL Server ) 的环境。

(2)掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解对SQL Server 进行配置的方法。

(3)掌握查询分析器的基本使用方法以及在查询分析器中执行T-SQL语句的方法。

(4)了解SQL Server 数据库的逻辑结构和物理结构。

(5)学会在企业管理器中创建数据库及查看数据库属性。

(6)学会使用T-SQL语句创建数据库。

二、实验内容

(1)学会使用企业管理器和查询分析器管理工具。

(2)使用企业管理器创建数据库。

创建一个教务管理数据库,名称为JWGL,数据文件的初始大小为20MB,文件增长方式为自动增长,文件增长增量设为5MB,文件的增长上限为500MB。日志文件的初始大小为10MB,文件增长增量设为1MB,文件的增长限制设为100MB。数据文件的逻辑文件名和物理文件名均采用默认值,分别为JWGL_data和d:\Microsoft SQL Server\MSSQL\data\ JWGL_data.mdf;事务日志文件的逻辑文件名和物理文件名也采用默认值,分别为JWGL_log和d:\Microsoft SQL Server\MSSQL\data\JWGL_log.ldf。

(3)在查询分析器中使用T-SQL语句创建数据库。

创建一个名为Market的数据库(注意e盘下应存在sql_data目录)。

CREATE DATABASE Market

ON

   (NAME = Market_Data,

    FILENAME = 'e:\sql_data\Market_Data.mdf',

    SIZE = 10,

    MAXSIZE = 50,

    FILEGROWTH = 10%)

LOG ON

    (NAME = Market_Log,

    FILENAME = 'e:\sql_data\ Market__Log.ldf',

    SIZE = 5,

    MAXSIZE = 15,

    FILEGROWTH = 10%);    

(4)使用T-SQL语句或企业管理器创建一个图书借阅管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小、增长方式、文件的增长上限等均可采用默认值。

(5)使用T-SQL语句或企业管理器创建第2章习题10的SPJ数据库,可以自行定义文件大小、增长方式等。

(6)查看物理磁盘目录,理解并分析SQL Server 数据库的存储结构。

(7)使用企业管理器查看数据库属性。

(8)使用T-SQL语句或企业管理器对于(2)~(5)中建立的数据库进行修改和删除操作,并进一步查看物理磁盘目录。

三、实验环境

mysql-8.3.0-win64

MySQL Workbench 8.0 CE

四、实验前准备

下载并安装MySQL以及MySQL Workbench

五、实验步骤

可以使用Create a new scheme

使用语句

其他的均相同

六、实验结果

七、评价分析及心得体会

通过此次实验,我熟悉了MySQL Workbench的环境,掌握了企业管理器的基本使用方法,对数据库及其对象有基本了解,学会在企业管理器中创建数据库及查看数据库属性,学会使用MySQL语句创建数据库,并了解数据库的逻辑结构和物理结构。

实验2 定义表和数据库完整性

一、 实验目的

(1)了解SQL Server 的基本数据类型、空值的概念,以及表的结构特点。

(2)学会使用T-SQL语句和企业管理器创建表结构和修改表结构。

(3)学会使用SQL Server 提供的数据完整性功能,并在创建表时定义表的数据完整性。通过实验进一步理解数据完整性的概念及分类。

二、实验内容

(1)用企业管理器在教务管理数据库JWGL中创建学生表Student、课程表Course、学生选课表SC,它们的表结构如表B.1所示。

(2)用T-SQL语句在Market数据库中创建客户基本信息表Customers、货品信息表Goods、订单信息表Orders,它们的定义如下

 CREATE TABLE Customers(

         CustomerID  int  IDENTITY(1,1)  PRIMARY  KEY,

         CName  varchar(8)  NOT  NULL ,

         Address  varchar(50),

         City  varchar(10),

         Tel  varchar(20)  UNIQUE,

         Company  varchar(50),

         Birthday  datetime,

         Type  tinyint  DEFAULT 1);

CREATE TABLE Goods (

         GoodsID int  CONSTRAINT  C1 PRIMARY  KEY ,

         GoodsName  varchar(20)  NOT  NULL,

         Price  money,

         Description  varchar(200),

         Storage   int,

         Provider  varchar(50),

         Status  tinyint  DEFAULT(0));

CREATE TABLE Orders (

         OrderID  int  IDENTITY(1,1)  CONSTRAINT  C2  PRIMARY  KEY ,

         GoodsID  int  NOT NULL  REFERENCES Goods(GoodsID)  ON  DELETE

             CASCADE,

         CustomerID  int  NOT NULL  FOREIGN KEY(CustomerID)

             REFERENCES Customers (CustomerID)  ON  UPDATE  CASCADE

ON DELETE NO ACTION,

         Quantity  int  NOT NULL  CONSTRAINT  C3  CHECK(Quantity >0),

         OrderSum  money  NOT NULL,

         OrderDate  datetime  DEFAULT(getdate()) );

(3)使用T-SQL语句在SPJ数据库中创建第2章习题6中的4张表:供应商表S、零件表P、工程项目表J和供应情况表SPJ,数据类型和长度自行设计,注意要同时定义主键、外键和其他的数据完整性。

(4)使用T-SQL语句在图书借阅管理数据库TSGL中建立图书、读者和借阅3个表,其结构为

图书(书号,书名,类别,出版社,作者,定价,出版时间)

读者(借书证号,姓名,单位,性别,地址,电话号码)

借阅(书号,借书证号,借阅日期)

要求为属性选择合适的数据类型,定义每个主键、外键,是否允许空值等数据完整性约束。

三、实验环境

mysql-8.3.0-win64

MySQL Workbench 8.0 CE

四、实验前准备

复习创建表的语句

五、实验步骤

(1)可以通过Create Table进行建表

(2)也可以用MySQL语句实现

student、course、sc

customers、goods、orders

s、p、j、spj

图书、读者、借阅

CREATE TABLE jwgl.student (Sno CHAR(8) NOT NULL,Sname VARCHAR(10) NOT NULL ,Sex CHAR(2) NOT NULL DEFAULT '男' CHECK (Sex='男' or Sex='女'),Age TINYINT(1) NOT NULL DEFAULT 20 CHECK (Age BETWEEN 15 AND 30),Phonenumber CHAR(12) NULL UNIQUE,Sdept VARCHAR(20) NOT NULL,PRIMARY KEY (`Sno`));CREATE TABLE jwgl.course (Cno CHAR(10) NOT NULL,Cname VARCHAR(20) NOT NULL UNIQUE,Total_perior TINYINT UNSIGNED NOT NULL DEFAULT 64 CHECK (Total_perior BETWEEN 32 AND 108),Week_perior TINYINT UNSIGNED NOT NULL DEFAULT 4 CHECK (Week_perior BETWEEN 2 AND 7),credit TINYINT UNSIGNED NOT NULL DEFAULT 4 CHECK (credit BETWEEN 1 AND 7),Pcno CHAR(10),PRIMARY KEY (Cno)
);
CREATE TABLE jwgl.sc (Sno CHAR(8) NOT NULL,Cno CHAR(10) NOT NULL,Grade TINYINT(1) NULL CHECK (Grade BETWEEN 0 AND 100), PRIMARY KEY (Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno)
);create table market.customers (CustomerID int not null auto_increment,CName varchar(8) not null,Address varchar(50),City varchar(10),Tel varchar(20) unique,Company varchar(50),Bithday date,Type tinyint default 1,primary key (CustomerID)
);create table market.goods (GoodsID int not null,GoodsName varchar(20) not null,Price decimal(10,2),Description varchar(200),Storage int,Provider varchar(50),Status tinyint default 0,primary key(GoodsID)
);create table market.orders(OrderID int not null auto_increment,GoodsID int not null,CustomerID int not null,Queantity int not null check ( Queantity>0),OrderSum decimal(10,2) not null,OrderDate datetime default  (now()),primary key (OrderID),foreign key( GoodsID) references goods(GoodsID) on delete cascade,foreign key(CustomerID) references customers(CustomerID) on update cascade on delete no action
);create table spj.s(SNO CHAR(2) PRIMARY KEY,SNAME VARCHAR(50),STATUS INT,CITY VARCHAR(50)
);create table spj.p(PNO char(2) primary key,PNAME varchar(50),COLOR varchar(20),WEIGHT float);create table spj.j(JNO char(2) primary key,JNAME varchar(50),CITY varchar(50));create table spj.spj(SNO char(2),PNO char(2),JNO char(2),QTY int,primary key(SNO,PNO,JNO),foreign key(SNO) references s(SNO),foreign key(PNO) references p(PNO),foreign key(JNO) references j(JNO));create table `tsgl`.`图书`(`书号` char(13) primary key,`书名` varchar(255) not null,`类别` varchar(50),`出版社` varchar(100),`作者` varchar(100),`定价` decimal(10,2),`出版时间` date
);create table `tsgl`.`读者`(`借书证号` char(10) primary key,`姓名` varchar(50) not null,`单位` varchar(100),`性别` enum('男','女') not null,`地址` varchar(255),`电话号码` varchar(20)
);CREATE TABLE `tsgl`.`借阅` (`书号` CHAR(13),`借书证号` CHAR(10),`借阅日期` DATE,PRIMARY KEY (`书号`, `借书证号`),FOREIGN KEY (`书号`) REFERENCES `图书`(`书号`) ON DELETE CASCADE ON UPDATE CASCADE,FOREIGN KEY (`借书证号`) REFERENCES `读者`(`借书证号`) ON DELETE CASCADE ON UPDATE CASCADE
);

六、实验结果

七、评价分析及心得体会

在本次实验中,我了解MySQL的基本数据类型、空值的概念,以及表的结构特点。并学会使用MySQL语句和企业管理器创建表结构和修改表结构。使用SQL Workbench提供的数据完整性功能,并在创建表时定义表的数据完整性,通过实验进一步理解数据完整性的概念及分类。

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

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

相关文章

前端 JS面向对象 原型 prototype

目录 一、问题引出 二、prototype原型对象 三、小结 四、constructor 五、__proto__对象原型 六、原型链 一、问题引出 由于JS的构造函数存在内存浪费问题: function Star(name,age){this.namenamethis.ageagethis.singfunction () {console.log("唱歌&…

NodeJS的安装 npm 配置和使用 Vue-cli安装 Vue项目介绍

一.前端工程化 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本 1. NodeJS的安装 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环 境,可以使 JavaScript 运行在服务…

软件工程概论项目(二),node.js的配置,npm的使用与vue的安装

上一章我们配置了git仓库,这一章我们来配置项目需要用的一些其他的环境。 放一个思维导图在这里,可以参考一下,很不全面,没有参考价值,反正我先这样写吧。 参考了这个nodejs的配置,写的很好:https://blog.c…

什么是crm?3000字详细解析

在现代商业环境中,客户关系管理(CRM)已经成为企业驱动成功的关键工具。在复杂且竞争激烈的市场中,如何有效地管理客户关系、提升客户满意度,并增加客户忠诚度,越来越成为企业迫切关心的问题。而CRM系统&…

3.1_文件上传漏洞

文件上传漏洞 文件上传漏洞原理:未对用户提交的文件进行严格校验,就将恶意文件解析执行,导致用户可以提交恶意的文件进行攻击; 利用方式(危害): 1). 上传 HTML/SVG 进行 XSS 攻击&…

C++入门基础知识140—【关于C++ 类构造函数 析构函数】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 类构造函数 & 析构函数的相关内容…

Notepad++的完美替代

由于Notepad的作者曾发表过可能在开发者代码中植入恶意软件的言论,他备受指责。在此,我向大家推荐一个Notepad的完美替代品——NotepadNext和Notepad--。 1、NotepadNext NotepadNext的特点: 1、跨平台兼容性 NotepadNext基于Electron或Qt…

为什么RNN(循环神经网络)存在梯度消失和梯度爆炸?

1️⃣ 原理分析 RNN前向传播的公式为: x t x_t xt​是t时刻的输入 s t s_t st​是t时刻的记忆, s t f ( U ⋅ x t W ⋅ s t − 1 ) s_tf(U\cdot x_tW\cdot s_{t-1}) st​f(U⋅xt​W⋅st−1​),f表示激活函数, s t − 1 s_{t-1} …

NUXT3学习日记二(样式配置、引入组件库、区分在服务端还是在客户端渲染)

上一章已经给大家分享官网下载的nuxt3了,下面正式进入我所要说的内容吧 一、初始化样式 想必大家从我的git下载下来的nuxt3,能看到nuxt.config.ts这个文件了吧。 这里我们有两种css配置方式 1、css:[~/assets/base.scss] 这种方式不能在scss文件中定义…

2024AAAI | DiffRAW: 利用扩散模型从手机RAW图生成单反相机质量的RGB图像

文章标题:《DiffRAW: Leveraging Diffusion Model to Generate DSLR-Comparable Perceptual Quality sRGB from Smartphone RAW Images》 原文链接:DiffRAW 本文是清华大学深圳研究院联合华为发表在AAAI-2024上的论文(小声bb:华…

计算机视觉 ---图像模糊

1、图像模糊的作用: 减少噪声: 在图像获取过程中,例如通过相机拍摄或者传感器采集,可能会受到各种因素的干扰,从而引入噪声。这些噪声在图像上表现为一些孤立的、不符合图像主体内容的像素变化,如椒盐噪声&…

串口DMA接收不定长数据

STM32F767—>串口通信接收不定长数据的处理方法_stm32串口超时中断-CSDN博客 STM32-HAL库串口DMA空闲中断的正确使用方式解析SBUS信号_stm32 hal usart2 dma-CSDN博客 #define USART1_RxBuffSize 100 extern DMA_HandleTypeDef hdma_usart1_rx; //此处声明的变量在…

web实验3:虚拟主机基于不同端口、目录、IP、域名访问不同页面

创建配置文件: 创建那几个目录及文件,并且写内容: 为网卡ens160添加一个 IPv4 地址192.168.234.199/24: 再重新激活一下网卡ens160: 重启服务: 关闭防火墙、改宽松模式: 查看nginx端口监听情况:…

Jmeter中的监听器(二)

5--JSR223 Listener 用途 自定义数据处理:使用脚本语言处理测试结果,实现高度定制化的数据处理和分析。实时监控:实时处理和显示测试结果。集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。日志记录:记…

计算机组成原理——进位计数制

1.认识不同进制 通常的我们日常生活中用到的都是十进制,比如买东西或者期末成绩等等,当然肯定不止这一种进制方法,相关的还有二进制、八进制、十六进制,还有古罗马数字,通常古罗马数字近似可以看作是五进制的数&#x…

function and task

任务和函数 在Verilog语言中提供了任务和函数,可以将较大的行为级设计划分为较小的代码段,允许设计者将需要在多个地方重复使用的相同代码提取出来,编写成任务和函数,这样可以使代码更加简洁和易懂。 1.1任务 任务的定义 任务定义…

【C++】用红黑树封装set和map

在C标准库中,set容器和map容器的底层都是红黑树,它们的各种接口都是基于红黑树来实现的,我们在这篇文章中已经模拟实现了红黑树 ->【C】红黑树,接下来我们在此红黑树的基础上来看看如何封装set和map。 一、共用一颗红黑树 我…

类与实例

1 问题如何理解类与实例? 2 方法 类与实例 类(class)的概述:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类是一类事物,实例是具体的一个事物。 编程与生活是相通的&#xff0…

2024/11/4 计网强化

10: 17: 22: 09: 11: 12: 13: 14: 15: 18: 19: 20: 21: 16:

力扣104 : 二叉树最大深度

补:二叉树的最大深度 描述: 给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 何解? 树一般常用递归:递到叶子节点开始倒着处理