0% encontró este documento útil (0 votos)
31 vistas15 páginas

Guía Práctica

Cargado por

pier
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas15 páginas

Guía Práctica

Cargado por

pier
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CENTRO DE ALTOS ESTUDIOS EN CIENCIAS,

TECNOLOGÍAS Y SEGURIDAD DE LA INFORMACIÓN


Administración de Base de Datos SQL Server 2022

Guía de práctica
SQL Server 2022: Implementación y Configuración de Base de Datos

Creación de una nueva base de datos


1. Creamos en la unidad D:\ la carpeta DATA donde se almacenarán los archivos .mdf,
.ldf y .ndf

2. Creamos la base de datos BdLibreria

USE Master
GO
IF EXISTS (SELECT * FROM sysdatabases WHERE NAME='BdLibreria')
DROP DATABASE BdLibreria
GO
CREATE DATABASE BdLibreria
ON PRIMARY
(NAME = BdLibreria_data,
FILENAME = 'D:\DATA\[Link]',
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
LOG ON
(NAME = BdLibreria_log,
FILENAME = 'D:\DATA\[Link]',
SIZE = 5MB,
MAXSIZE = 10MB,
FILEGROWTH = 5%)
GO

Visualizar los archivos de la base de datos creada:


EXEC sp_helpdb BdLibreria

Ing. Wilson Gerardo Cardoza Llontop 1


CIETSI Administración de Base de Datos SQL Server 2022

Creación de las estructuras de almacenamiento de datos

En la base de datos BdLibreria

BDLIBRERIA

PRIMARY FG_VENTAS
[Link]
FG_COMPRAS FG_LOGISTICA

[Link]

[Link]
[Link]

[Link]
[Link]

1. Adicionar un archivo secundario a la base de datos BdLibreria con nombre lógico


BdLibreria_data1, con nombre físico [Link], tamaño 15MB, tamaño máximo
70MB y porcentaje de aumento 10%

ALTER DATABASE BdLibreria


ADD FILE
(NAME = BdLibreria_data1,
FILENAME = 'D:\DATA\[Link]',
SIZE = 15MB,
MAXSIZE = 70MB,
FILEGROWTH = 10%)

2. Crear un Filegroup llamado FG_VENTAS y adicionarle el archivo secundario con


nombre lógico BdLibreria_data2 y con nombre físico [Link], tamaño 8MB,
tamaño máximo 25MB y aumento 2MB

a) Creamos el Filegroup

ALTER DATABASE BdLibreria


ADD FILEGROUP FG_VENTAS

Ing. Wilson Gerardo Cardoza Llontop 2


CIETSI Administración de Base de Datos SQL Server 2022

b) Adicionamos el archivo secundario al Filegroup FG_VENTAS

ALTER DATABASE BdLibreria


ADD FILE
(NAME=BdLibreria_data2,
FILENAME ='D:\DATA\[Link]',
SIZE = 8MB,
MAXSIZE = 25MB,
FILEGROWTH = 2MB
) TO FILEGROUP FG_VENTAS

3. Crear un Filegroup llamado FG_COMPRAS y adicionarle el archivo secundario nombre


lógico BdLibreria_data3 y con nombre físico [Link], tamaño 5MB, tamaño
máximo 20MB y aumento 3MB

a) Creamos el Filegroup

ALTER DATABASE BdLibreria


ADD FILEGROUP FG_COMPRAS

b) Adicionamos el archivo secundario al Filegroup FG_COMPRAS

ALTER DATABASE BdLibreria


ADD FILE
(NAME=BdLibreria_data3,
FILENAME ='D:\DATA\[Link]',
SIZE = 5MB,
MAXSIZE = 20MB,
FILEGROWTH = 3MB
) TO FILEGROUP FG_COMPRAS

4. Crear un Filegroup llamado FG_LOGISTICA y adicionarle el archivo secundario nombre


lógico BdLibreria_data4 y con nombre físico [Link], tamaño 12MB, tamaño
máximo 200MB y aumento 8MB

a) Creamos el Filegroup

ALTER DATABASE BdLibreria


ADD FILEGROUP FG_LOGISTICA

b) Adicionamos el archivo secundario al Filegroup FG_LOGISTICA

ALTER DATABASE BdLibreria


ADD FILE

Ing. Wilson Gerardo Cardoza Llontop 3


CIETSI Administración de Base de Datos SQL Server 2022

(NAME=BdLibreria_data4,
FILENAME ='D:\DATA\[Link]',
SIZE = 12MB,
MAXSIZE = 200MB,
FILEGROWTH = 8MB
) TO FILEGROUP FG_LOGISTICA

5. En el Filegroup FG_LOGISTICA adicionarle el archivo secundario nombre lógico


BdLibreria_data5 y con nombre físico [Link], tamaño 15MB, tamaño máximo
250MB y aumento 10MB

ALTER DATABASE BdLibreria


ADD FILE
(NAME=BdLibreria_data5,
FILENAME ='D:\DATA\[Link]',
SIZE = 15MB,
MAXSIZE = 250MB,
FILEGROWTH = 10MB
) TO FILEGROUP FG_LOGISTICA

Visualizar los filegroups creados:


SELECT * FROM [Link]

Requerimientos solicitados

6. Modificar el tamaño del archivo de datos primario de 10MB a 40MB y el tamaño máximo
de 100MB a 150MB de la base de datos BdLibreria

ALTER DATABASE BdLibreria


MODIFY FILE (NAME = BdLibreria_data, SIZE=40MB, MAXSIZE=150MB)
GO

7. Renombrar los archivos de base de datos .mdf y .ldf


a) Visualizamos los nombres de los archivos físicos
EXEC sp_helpdb BdLibreria

Ing. Wilson Gerardo Cardoza Llontop 4


CIETSI Administración de Base de Datos SQL Server 2022

b) Cambiamos el estado de la base de datos en modo de usuario único y cerramos todas las
conexiones
ALTER DATABASE BdLibreria
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

c) Cambiamos los nombres lógicos


ALTER DATABASE BdLibreria MODIFY FILE (NAME = BdLibreria_data,
NEWNAME = BdTiendaLibros_data)
ALTER DATABASE BdLibreria MODIFY FILE (NAME = BdLibreria_log,
NEWNAME = BdTiendaLibros_log)

d) Cambiamos los nombres físicos y la ruta de ubicación de los archivos físicos


ALTER DATABASE BdLibreria MODIFY FILE (NAME =
'BdTiendaLibros_data', FILENAME = 'D:\DATA\[Link]')
ALTER DATABASE BdLibreria MODIFY FILE (NAME =
'BdTiendaLibros_log', FILENAME = 'D:\DATA\[Link]')

e) Desconectamos la base de datos


USE Master
GO
ALTER DATABASE BdLibreria SET OFFLINE

f) En el explorador de Windows, ubicamos archivos .mdf y .ldf y cambiamos el nombre


exactamente como se especificó en el punto anterior

g) Colocamos la base de datos en línea


ALTER DATABASE BdLibreria SET ONLINE
GO

h) Cambiamos el estado de la base de datos en modo de usuario múltiple


ALTER DATABASE BdLibreria SET MULTI_USER
GO

i) Visualizamos los nombres de los archivos de la base de datos


USE BdLibreria
GO
SELECT file_id, name As Nombre_Lógico, physical_name As
Nombre_Físico
FROM sys.database_files

Ing. Wilson Gerardo Cardoza Llontop 5


CIETSI Administración de Base de Datos SQL Server 2022

8. Cambiar el nombre de la base de datos


USE Master
GO
ALTER DATABASE BdLibreria SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE BdLibreria MODIFY NAME = BdTiendaLibros
GO
ALTER DATABASE BdTiendaLibros SET MULTI_USER
GO

9. Mover los archivos de base de datos .mdf y .ldf a otra ubicación


a) Ejecutamos el siguiente script para poder establecer una nueva ubicación para los
archivos de base de datos SQL:
ALTER DATABASE BdTiendaLibros
MODIFY FILE (NAME = BdTiendaLibros_Data,
FILENAME = 'D:\DATA2\[Link]')
GO

ALTER DATABASE BdTiendaLibros


MODIFY FILE (NAME = BdTiendaLibros_Log,
FILENAME = 'D:\DATA2\[Link]')
GO

b) Cambiamos el estado de la base de datos en modo de usuario único y cerramos todas las
conexiones
ALTER DATABASE BdTiendaLibros
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

c) Desconectamos la base de datos


ALTER DATABASE BdTiendaLibros SET OFFLINE
GO

d) Cortamos y pegamos los archivos .mdf y .ldf en la nueva ubicación

e) Colocamos la base de datos en línea


ALTER DATABASE BdTiendaLibros SET ONLINE
GO

Ing. Wilson Gerardo Cardoza Llontop 6


CIETSI Administración de Base de Datos SQL Server 2022

j) Cambiamos el estado de la base de datos en modo de usuario múltiple


ALTER DATABASE BdTiendaLibros SET MULTI_USER
GO

f) Ejecutamos la siguiente consulta para verificar que el proceso haya terminado con éxito
SELECT name, physical_name AS Nueva_Ruta, state_desc AS Estado
FROM sys.master_files
WHERE database_id = DB_ID(N'BdTiendaLibros')
GO

10. Cambiar el nombre al filegroup FG_VENTAS por FG_SALES


ALTER DATABASE BdTiendaLibros
MODIFY FILEGROUP FG_VENTAS NAME = FG_SALES
GO
--Verificamos el cambio de nombre del Filegroup FG_VENTAS
SELECT Name FROM [Link]

11. Eliminar el archivo secundario [Link] que tiene como nombre lógico
BdLibreria_data4 de la base de datos BdTiendaLibros

Escenario A: Si el archivo está vacío


ALTER DATABASE BdTiendaLibros
REMOVE FILE BdLibreria_data4
GO
--Verificamos los archivos de la base de datos
EXEC sp_helpdb 'BdTiendaLibros'

Escenario B: Si el archivo contiene datos

a) Volvemos a crear el archivo [Link]'


ALTER DATABASE BdTiendaLibros
ADD FILE
(NAME=BdLibreria_data4,
FILENAME ='D:\DATA\[Link]',
SIZE = 12MB,
MAXSIZE = 200MB,
FILEGROWTH = 8MB
) TO FILEGROUP FG_LOGISTICA

Ing. Wilson Gerardo Cardoza Llontop 7


CIETSI Administración de Base de Datos SQL Server 2022

b) Creamos la tabla Pais


USE BdTiendaLibreria
GO
CREATE TABLE Pais(
CodPais int Identity Primary key,
NomPais varchar(35) not null
) ON FG_LOGISTICA
GO

c) Insertamos registros a la tabla Pais


BEGIN TRANSACTION
INSERT INTO Pais values('Brasil')
INSERT INTO Pais values('Bolivia')
INSERT INTO Pais values('Ecuador')
INSERT INTO Pais values('Perú')
INSERT INTO Pais values('Paraguay')
INSERT INTO Pais values('Venezuela')
INSERT INTO Pais values('Uruguay')
INSERT INTO Pais values('Colombia')
INSERT INTO Pais values('Argentina')
INSERT INTO Pais values('Chile')
COMMIT TRANSACTION
GO

1. Intente eliminar el archivo [Link]


ALTER DATABASE BdTiendaLibros
REMOVE FILE BdLibreria_data4

2. Dejamos vacío el archivo [Link]


DBCC SHRINKFILE (BdLibreria_data4, EMPTYFILE)

3. Eliminamos el archivo [Link]


ALTER DATABASE BdTiendaLibros
REMOVE FILE BdLibreria_data4

4. Verificamos los archivos de la base de datos


EXEC sp_helpdb 'BdTiendaLibros'

Ing. Wilson Gerardo Cardoza Llontop 8


CIETSI Administración de Base de Datos SQL Server 2022

Lenguaje de definición de datos y Restricciones

a) Creamos la tabla Cliente en el Filegroup FG_COMPRAS


CREATE TABLE Cliente(
IdCliente bigint Identity(1,1) Primary key,
Nombre varchar(50) not null,
FechaIng Datetime not null,
RUC char(11) not null,
Telefono char(9)
)ON FG_COMPRAS

b) Agregamos a la tabla Cliente la restricción Check en el campo RUC


ALTER TABLE Cliente
ADD CONSTRAINT Ck_Cliente_Ruc
CHECK (RUC LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
[0-9][0-9]')

c) Agregamos a la tabla Cliente la restricción Unique en el campo RUC


ALTER TABLE Cliente
ADD CONSTRAINT Uq_Cliente_Ruc UNIQUE(RUC)

d) Creamos la tabla Editorial en el Filegroup PRIMARY


CREATE TABLE Editorial(
IdEditorial char(5) not null,
NomEditorial varchar(50) not null,
Email varchar(80) not null,
Pais varchar(30) not null
)

e) Agregamos a la tabla Editorial la restricción Primary Key en el campo IdEditorial


ALTER TABLE Editorial
ADD CONSTRAINT Pk_Editorial_Id Primary Key(IdEditorial)

f) Creamos la tabla Especialidad en el Filegroup PRIMARY


CREATE TABLE Especialidad(
IdEspecialidad Char(5) Not Null Primary Key,
NomEspecialidad Varchar(60) Not Null

Ing. Wilson Gerardo Cardoza Llontop 9


CIETSI Administración de Base de Datos SQL Server 2022

)
g) Creamos la tabla Libro en el Filegroup FG_LOGISTICA
CREATE TABLE Libro(
IdLibro bigint Identity(1, 1) Primary Key,
Titulo varchar(80) not null,
Stock tinyint not null CONSTRAINT Ck_Libro_Stock CHECK (Stock>=0),
PrecioUnidad smallmoney not null CONSTRAINT Ck_Libro_Pu CHECK
(PrecioUnidad > 0),
FechaPub smalldatetime not Null,
NumPag smallint not null CONSTRAINT Ck_Libro_NumPag CHECK (NumPag
> 0),
Edicion varchar(25) not null,
IdEdit char(5) not null Foreign Key References Editorial
(IdEditorial),
IdEspec char(5) Not Null Foreign Key References Especialidad
(IdEspecialidad)
) ON FG_LOGISTICA

h) Creamos la tabla Pedido en el Filegroup FG_VENTAS


CREATE TABLE Pedido(
NumPedido bigint Identity(1,1) Primary Key,
FechaPedido datetime not null,
FechaEntrega datetime not null,
IdCli bigint not null, Constraint Fk_cliente Foreign key(IdCli)
References Cliente(IdCliente)
) ON FG_SALES

i) Creamos la tabla Detalle_Pedido en el Filegroup FG_VENTAS


CREATE TABLE Detalle_Pedido(
NumPed bigint not null,
IdLib bigint not null,
Cantidad tinyint,
PrecioVenta smallmoney not null,
Constraint Fk_pedido Foreign key(NumPed) References
Pedido(NumPedido),
Constraint Fk_libro Foreign key(IdLib) References Libro(IdLibro),
Constraint Pk_detalle_pedido Primary Key(NumPed, IdLib)
) ON FG_SALES

Ing. Wilson Gerardo Cardoza Llontop 10


CIETSI Administración de Base de Datos SQL Server 2022

Visualizar información de tablas y filegroups:


SELECT [Link], [Link], [Link], I.index_id, [Link]
FROM [Link] I INNER JOIN [Link] FG ON
I.data_space_id = FG.data_space_id INNER JOIN
sys.all_objects O ON I.object_id = O.object_id WHERE
I.data_space_id = FG.data_space_id AND [Link] = 'U'

Visualizar las restricciones de una tabla:


EXEC sp_helpconstraint 'Cliente'

Visualizar las tablas creadas:


SELECT Name FROM [Link]

Ing. Wilson Gerardo Cardoza Llontop 11


CIETSI Administración de Base de Datos SQL Server 2022

Visualizar información de una tabla


EXEC sp_help 'Cliente'

j) Finalmente generamos el diagrama de la base de datos creada


1. Desglosamos la base de datos BdTiendaLibros
2. Hacemos anticlic en la carpeta Diagrama de base de datos y seleccionamos la opción
Nuevo diagrama de base de datos

Ing. Wilson Gerardo Cardoza Llontop 12


CIETSI Administración de Base de Datos SQL Server 2022

3. Se presenta el siguiente mensaje y hacemos clic en el botón Sí

4. Se muestra la siguiente ventana con las tablas las mismas que las seleccionamos y
hacemos clic en el botón Agregar, esperamos que se agreguen la tablas y luego clic en el
botón Cerrar

5. Se muestra el diagrama de la base de datos BdTiendaLibros

Ing. Wilson Gerardo Cardoza Llontop 13


CIETSI Administración de Base de Datos SQL Server 2022

k) Adicionar el campo Direccion a la tabla Cliente


ALTER TABLE Cliente
ADD Direccion varchar(30)

l) Modificar el tamaño del campo Direccion en la tabla Cliente


ALTER TABLE Cliente
ALTER COLUMN Direccion varchar(50)

m) Agregar una restricción CHECK a la columna Cantidad de la tabla Detalle_Pedido que sea
mayor a cero
ALTER TABLE Detalle_Pedido
ADD CONSTRAINT Ck_Detallepedido_cantidad CHECK(Cantidad > 0)

n) A la columna Cantidad de la tabla Detalle_Pedido colocarle que sea NOT NULL


ALTER TABLE Detalle_Pedido
ALTER COLUMN Cantidad tinyint NOT NULL

o) Renombrar el Campo Cantidad a Cant de la tabla Detalle_Pedido


EXEC sp_rename 'Detalle_Pedido.Cantidad', 'Cant', 'COLUMN'

Nota: Primero debe eliminarse la restricción asignada al campo cantidad.

ALTER TABLE Detalle_Pedido


DROP CONSTRAINT Ck_Detallepedido_cantidad

p) Renombrar el nombre de la tabla Detalle_Pedido a Detalle_Pedidos

Ing. Wilson Gerardo Cardoza Llontop 14


CIETSI Administración de Base de Datos SQL Server 2022

EXEC sp_rename 'Detalle_Pedido', 'Detalle_Pedidos'

q) Eliminar el campo Direccion en la Tabla Cliente


ALTER TABLE Cliente
DROP COLUMN Direccion

r) Eliminar los campos Cant y PrecioVenta de la tabla Detalle_Pedidos


ALTER TABLE Detalle_Pedidos
DROP COLUMN Cant, PrecioVenta

s) Eliminar la restricción del campo RUC de la tabla Cliente


ALTER TABLE Cliente
DROP CONSTRAINT Ck_Cliente_Ruc

Ing. Wilson Gerardo Cardoza Llontop 15

También podría gustarte