【数据库原理 实验报告1】创建和管理数据库

目录

[练习1 创建 YGGL 数据库](#练习1 创建 YGGL 数据库)

[练习2 修改 YGGL 数据库](#练习2 修改 YGGL 数据库)

实验心得

SQL语言使用数据定义语言(DATA DEFINITION LANGUAGE,简称DDL)实现其数据定义功能,可对数据库、数据库用户、基本表、视图、索引进行定义和撤消。

【实验目的】

掌握SQL Server数据定义语言的使用,能独立按要求进行数据库、基本表、进行定义和撤消。

掌握数据库的创建,认识文件和文件组的类型,使用CREATE和ALETER等语句进行数据库的创建及管理。

【实验要求】(截屏提交)

练习1 创建 YGGL 数据库

创建一个名为YGGL的数据库,它有两个数据文件,其中,主数据文件为20 MB,最大大小不限,按10%增长。 1个辅数据文件为20 MB,最大大小不限,按10%增长;有1个日志文件,大小为50 MB,最大大小为100 MB,按10 MB增长。

代码:

sql 复制代码
CREATE DATABASE YGGL
ON
PRIMARY 
(
    NAME = YGGL_Data,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\YGGL_Data.mdf', 
    SIZE = 20MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10%
),
(
    NAME = YGGL_AuxData,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\YGGL_AuxData.ndf', 
    SIZE = 20MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10%
)
LOG ON 
(
    NAME = YGGL_Log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\YGGL_Log.ldf', 
    SIZE = 50MB,
    MAXSIZE = 100MB,
    FILEGROWTH = 10MB
);

运行截图:

练习2 修改 YGGL 数据库

2.1为数据库YGGL添加文件组FGROUP,并为此文件组添加1个大小为20 MB的数据文件YGGLBAK 。

代码:

sql 复制代码
ALTER DATABASE YGGL 
ADD FILEGROUP FGROUP;

ALTER DATABASE YGGL 
ADD FILE 
(
    NAME = YGGLBAK,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\YGGLBAK.ldf', 
    SIZE = 20MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10%
) 
TO FILEGROUP FGROUP;

运行截图:

2.2删除文件组FGROUP

代码:

sql 复制代码
ALTER DATABASE YGGL 
REMOVE FILE YGGLBAK;

运行截图:

实验心得

本次数据库原理课程设计的首个实验围绕 SQL Server 数据库的创建与管理展开,通过实操 CREATE、ALTER 等 DDL 语句完成 YGGL 数据库的创建、文件组添加与删除等操作,我不仅熟练掌握了数据库物理文件的配置方法,也对数据库底层存储结构和 SQL 数据定义语言的应用逻辑有了更清晰的认知,现将实验中的收获与思考总结如下。

在创建 YGGL 数据库的环节,我首次完整编写了包含主数据文件、辅数据文件和日志文件的 CREATE DATABASE 语句。实验要求主辅数据文件初始大小均为 20MB、最大容量不限且按 10% 增长,日志文件初始 50MB、最大 100MB 且按 10MB 增长,这让我意识到数据库文件的参数设置需结合实际业务需求 ------ 数据文件的增长比例既要避免增长过慢导致频繁扩容影响性能,也要防止增长过快造成磁盘空间浪费;日志文件的最大容量限制则是为了防止日志无限制占用磁盘,保障系统存储资源的合理分配。编写语句时,我曾因文件路径书写错误导致执行失败,排查后发现需严格匹配 SQL Server 的安装路径,这让我深刻体会到 SQL 语法的严谨性,哪怕是一个字符的偏差都会导致操作失效。

修改 YGGL 数据库的操作是本次实验的重点,尤其是文件组的添加与删除环节。在为数据库添加 FGROUP 文件组并新增 YGGLBAK 数据文件时,我理解了文件组作为数据库文件逻辑管理单元的作用:通过文件组可以将不同的数据文件归类,便于后续按文件组管理数据表存储位置,提升数据库的管理效率。执行 ALTER DATABASE 语句添加文件组和文件时,我注意到文件的扩展名需符合规范 ------ 数据文件应使用.ndf 而非.ldf(ldf 为日志文件扩展名),这一细节错误也曾导致语句执行报错,让我认识到数据库文件类型与扩展名的对应关系是基础且关键的知识点。删除文件组前需先删除组内的 YGGLBAK 文件,这一操作逻辑让我明白文件组与数据文件之间的依赖关系:文件组作为容器,必须先清空内部文件才能被删除,这体现了数据库管理中 "先解除依赖,再执行删除" 的通用原则。

整个实验过程让我对 DDL 语言的功能有了更具象的理解,相较于课本中抽象的语法讲解,实操中通过编写、调试、执行 SQL 语句,我不仅掌握了 CREATE、ALTER 语句的具体用法,更理解了这些语句背后对应的数据库物理存储变化。例如创建数据库时,SQL Server 会在指定路径生成对应的 mdf、ndf、ldf 文件;修改数据库时,系统会更新数据库的元数据信息,记录文件组和文件的新增、删除状态。同时,我也认识到数据库管理并非简单的语句执行,而是需要综合考虑存储性能、资源分配、数据安全等多方面因素,比如文件组的规划需结合数据表的访问频率,日志文件的增长设置需兼顾数据恢复需求。

此次实验也暴露了我在数据库基础知识点掌握上的不足,比如对文件扩展名规范、文件路径配置等细节的疏忽,后续我会加强对 SQL Server 基础概念的梳理,同时多进行不同场景下的数据库配置练习,提升对 DDL 语句的灵活运用能力。总的来说,本次实验让我夯实了数据库创建与管理的实操技能,也培养了严谨的操作思维,为后续学习数据表、视图等数据库对象的管理奠定了坚实的基础。

相关推荐
q5431470872 小时前
MySQL SQL100道基础练习题
数据库·mysql
IDZSY04302 小时前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
zhoupenghui1682 小时前
mysql 中如果条件where中有or,则要求or两边的字段都必须有索引,否则不能用到索引, 为什么?
数据库·mysql·索引
happymaker06262 小时前
web前端学习日记——DAY05(定位、浮动、视频音频播放)
前端·学习·音视频
xuhaoyu_cpp_java2 小时前
过滤器与监听器学习
java·经验分享·笔记·学习
炽烈小老头3 小时前
【 每天学习一点算法 2026/03/23】数组中的第K个最大元素
学习·算法·排序算法
eggwyw3 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-03-23
数据库·人工智能·经验分享·神经网络·chatgpt
2401_894241923 小时前
用Pygame开发你的第一个小游戏
jvm·数据库·python