Vous êtes sur la page 1sur 97

Manual

De
Base de Datos
Con
Manual De Base De Datos Con SQL-Server i

TÍTULO:

Manual
De Base De Datos
Con
SQL-Server
AUTOR (ES)
Manual De Base De Datos Con SQL-Server ii
AGRADECIMIENTOS
Manual De Base De Datos Con SQL-Server iii
INTRODUCCIÓN
Manual De Base De Datos Con SQL-Server iv
Manual De Base De Datos Con SQL-Server ÍNDICE v

Items Página
TÍTULO: ............................................................................................................... Error! Bookmark not defined.
AUTOR (ES) ...................................................................................................................................................... ii
AGRADECIMIENTOS ................................................................................................................................... iii
INTRODUCCIÓN ............................................................................................................................................ iv
ÍNDICE................................................................................................................................................................v
RESUMEN ....................................................................................................................................................... vii
DESARROLLO TEMÁTICO ...........................................................................................................................1
Capítulo 1: Herramienta CASE CA ERWIN DATA MODELER ............................................................1
1.1. Definición, características y versiones .............................................................................................2
1.2. Requisitos e Instalación ....................................................................................................................3
1.3. Creación De Un Modelo De Base De Batos .....................................................................................9
1.4. Vistas de una base de datos ............................................................................................................12
Capítulo 2: Microsoft SQL Server ..............................................................................................................18
2.1. Definición, Propiedades Y Versiones .............................................................................................19
2.2. Requisitos Para La Instalación .......................................................................................................20
2.3. Instalación y Acceso .......................................................................................................................25
2.4. Configuración Del Entorno De Trabajo .........................................................................................34
2.5. Conexión de CA ERWIN DATA MODELER con SQL Server ....................................................35
2.6. Crear La Base De Datos En SQL Server ........................................................................................38
Capítulo 3: Lenguaje de Definición de Datos (LDD).................................................................................39
3.1. Definición Previas ..........................................................................................................................40
3.2. Sentencia CREATE ........................................................................................................................41
3.3. Sentencia ALTER ...........................................................................................................................45
3.4. Sentencia DROP .............................................................................................................................51
Capítulo 4: Base de Datos con SQL Server ................................................................................................53
4.1. Definiciones Previas .......................................................................................................................54
4.2. Objetivos De Una Base De Datos...................................................................................................57
4.3. Bases De Datos En SQL Server .....................................................................................................59
4.4. Estructura De Una Base De Datos ..................................................................................................60
4.5. Creación De Una Base De Datos ....................................................................................................62
4.6. Caso Práctico: Gestión De Legajos ...............................................................................................67
4.7. Adjuntar Y Separa Una Base De Datos ..........................................................................................67
4.8. Esquemas En SQL Server...............................................................................................................73
4.9. Tipo De Datos En SQL Server .......................................................................................................73
4.10. Tipo De Datos Definidos Por El Usuario ...................................................................................76
4.11. Propiedades De Los Atributos ....................................................................................................76
Manual De Base De Datos Con SQL-Server vi

4.12. El Objeto Tabla...........................................................................................................................77


4.13. Manejo de tablas con Esquemas .................................................................................................78
4.14. Restricciones De Tipo: Unique, Check, Default ........................................................................78
4.15. Generación De Esquemas, Caso Propuesto: Gestión De Legajos ..............................................81
Capítulo 5: Lenguaje de Manipulación de Datos (LMD)..........................................................................82
5.1. Definiciones Previas .......................................................................................................................83
5.2. Comando INSERT INTO ...............................................................................................................83
5.3. Comando UPDATE ........................................................................................................................83
5.4. Comando DELETE ........................................................................................................................83
5.5. Formas de uso del comando SELECT ............................................................................................83
5.6. Operadores en SQL Server .............................................................................................................83
5.7. Comandos de tipo JOIN .................................................................................................................83
Capítulo 6: Transact SQL............................................................................................................................84
6.1. Definiciones previas. ......................................................................................................................85
6.2. Funciones CAST y CONVERT ......................................................................................................85
6.3. Estructuras de Control Selectivas ...................................................................................................85
6.4. Estructuras de Control Repetitivas .................................................................................................85
6.5. Manejo de errores en Transac SQL ................................................................................................85
6.6. Manejo de Cursores ........................................................................................................................85
6.7. Funciones........................................................................................................................................85
6.8. Manejo de Procedimientos Almacenados.......................................................................................85
6.9. Comando EXECUTE .....................................................................................................................85
6.10. Procedimientos Almacenados definidas por el usuario ..............................................................86
6.11. Procedimiento almacenados y Cursores .....................................................................................86
6.12. Manejo de Transacciones ...........................................................................................................86
6.13. Manejo de TRIGGERS ...............................................................................................................86
Capítulo 7: Ejercicios Propuestos ...............................................................................................................87
REFERENCIAS BIBLIOGRÁFICAS ...........................................................................................................88
Manual De Base De Datos Con SQL-Server RESUMEN vii

jkbkuku
Manual De Base De Datos Con SQL-Server 1

DESARROLLO TEMÁTICO

Capítulo 1: Herramienta CASE CA ERWIN DATA MODELER


Capítulo

1
ER

Herramienta CASE CA
ERWIN DATA
CAPACIDAD CONTENIDO

 Definición, características y versiones

 Requisitos e Instalación

 Creación De Un Modelo De Base De Batos

DDDD  Vistas de una base de datos


Manual De Base De Datos Con SQL-Server 2

1.1. Definición, características y versiones

A. Definición:
ERwin Data Modeler es una herramienta para diseño de base de datos que brinda ayuda a los
usuarios a diseñar, generar y mantener alta calidad los modelos de base de datos.
ERwin Data Modeler permite al usuario visualizar la estructura correcta, elementos claves y el
diseño optimizado de su base de datos, desde los requerimientos de un modelo lógico de
información y reglas de negocio que definen la base de datos, a un modelo físico optimizado
para las características específicas de la base de datos seleccionada.
ERwin Data Modeler automáticamente genera tablas. Su tecnología de “comparación
completa” permite el desarrollo iterativo, de forma tal que los modelos están siempre
sincronizados con Gestores de Base de Datos como: SQL Base, Sybase, MySQL, etc. Al
integrarse con entornos de desarrollo líderes, ERwin Data Modeler también acelera la creación
de aplicaciones centralizadas en datos.

B. Requisitos Para La Instalación.

 Proporciona un entorno gráfico de fácil manipulación que simplifica el diseño de las bases
de datos.
 Mantenimiento de base de datos (modelado).
 Comunicarse de forma más eficaz permitiendo que los DBA y desarrolladores compartan y
reutilicen modelos.
 Proporcionar respuestas más rápidas a las necesidades empresariales en evolución
permitiendo a las empresas comprender el impacto del cambio en los activos de información
y facilitando la rápida implementación de cambios.

C. Versiones

VERSION AÑO DE NOMBRE DEL


LANZAMIENTO PROYECTO
4.1.4 2008
Manual De Base De Datos Con SQL-Server 3

1.2. Requisitos e Instalación

A. Requisitos para la instalación.


 Plataformas: WindowsXP, Vista, 7, 8, 2003 server y superiores.
 Gestores de base de Datos: SQL Server, MySQL, Sybase, etc.

B. Instalación.
 Ejecutar el archivo de instalación “CA_ERwin_Data_Modeler _r7.3_Setup”, modo
administrador.

 Inicialización del instalador.


Manual De Base De Datos Con SQL-Server 4

 Leer el contrato y términos de uso hasta el final para poder dar click en “I agree”.

 Ingresar parámetros y dar click en Next


Manual De Base De Datos Con SQL-Server 5

 Mostrará la ruta de instalación y podrá modificar la ruta si usted lo desea, (recomendación:


dejar en la ruta predeterminada), después dar click en Next.
Manual De Base De Datos Con SQL-Server 6
Manual De Base De Datos Con SQL-Server 7
Manual De Base De Datos Con SQL-Server 8

 Seleccione el botón de Inicio, después, seleccione todos los programas, luego CA (Computer
Associates); enseguida ERwin Data Modeler r7.3 y después ERwin Data Modeler.

 Una vez realizado lo anterior aparecerá la ventana principal de Erwin r7.3.


Manual De Base De Datos Con SQL-Server 9

1.3. Creación De Un Modelo De Base De Batos

A. Herramientas básicas

 Barra de menús

 Barra de herramientas

 Barra de herramientas lógicas

 Área de trabajo (modelado)


Manual De Base De Datos Con SQL-Server 10

B. Generando una Base de Datos


 Abrimos el Erwin Data Modeler y seleccionamos: File > New.

 Nos aparecerá esta ventana en la cual nos pide seleccionar el modelo que deseamos crear,
en este caso tenemos 3 opciones: Lógico, Físico y Lógico/Físico.
Para el desarrollo de la práctica seleccionaremos la última opción y escogemos con que
Sistema Gestor de Base de Datos trabajaremos y la versión correspondiente, en este caso
seleccionamos SQL Server y la versión 2005/2008, pero no solamente podemos trabajar con
SQL Server, también lo podemos hacer con Oracle, MySQL, etc.
Manual De Base De Datos Con SQL-Server 11

C. Configuraciones Previas.
 Antes de comenzar a trabajar nuestro modelado es necesario configurar las propiedades de
nuestro modelo. Vamos a la opción Model y Model Properties

 Pasará a mostrar la siguiente ventana, donde configuraremos la información del modelo y la


notación (Information Engineering – este tipo de notación permite mostrar todos los campos
y valores dentro de nuestro modelado, como son: entidades, atributos, identificadores, tipo
de datos, etc.); así mismo podemos verificar otras configuraciones que ERwin trae por
defecto.
Manual De Base De Datos Con SQL-Server 12

1.4. Vistas de una base de datos

A. Creación de Vistas de una base de datos.


 Nos dirigimos al menú “Format” y click en “Stored Display Settings.”
Manual De Base De Datos Con SQL-Server 13

 Clic en el botón New, e indicamos el nuevo nombre de vista en la configuración de


pantalla.
Manual De Base De Datos Con SQL-Server 14

 Realizamos la configuración para el modelo lógico, activando la opción Primary Key


Designator (muestra el identificador o clave primaria).

 También configuramos el modelo físico, dentro del menú Table Option activamos PK
Designator.

 Seleccionamos la vista lógica y empezaremos creando las tablas llamadas: tipofamiliar,


PersonaFamiliar, personal.
Manual De Base De Datos Con SQL-Server 15

 Si queremos el tipo de datos, identificadores y entre otros seleccionamos la vista física.

 En la vista o modelo físico, cambiamos el tipo de dato para cada atributo, como se muestra.

 Obteniendo la siguiente vista a nivel físico.


Manual De Base De Datos Con SQL-Server 16

 Para trabajar las relaciones volvemos a la vista lógica del modelado y empezamos con las
relaciones que pueden ser de: uno a muchos (Relación obligatoria no identificada o Relación
no obligatoria no identificada) y de muchos a muchos.

 Sabemos que la relación entre la tabla producto y la tabla boleta es de muchos a muchos,
para lo cual generaremos la entidad que asocia ambas tablas. (Create Association Entity).
Manual De Base De Datos Con SQL-Server 17

 La vista física quedara de la siguiente manera, luego de haber colocado un nombre a las
relaciones.

 Obtendremos el siguiente modelo a nivel lógico.


Manual De Base De Datos Con SQL-Server 18

Capítulo 2: Microsoft SQL Server

Capítulo

2
Microsoft SQL Server

CAPACIDAD CONTENIDO

 Definición, Propiedades Y Versiones


 Requisitos Para La Instalación
 Instalación y Acceso
 Configuración Del Entorno De Trabajo
DDDD
 Conexión de CA ERWIN DATA
MODELER con SQL Server
 Crear La Base De Datos En SQL Server
Manual De Base De Datos Con SQL-Server 19

2.1. Definición, Propiedades Y Versiones

A. Definición de Microsoft SQL Server


SQL nace de un lenguaje de cómputo llamado SEQUEL creado por IBM, que fue diseñado
específicamente para consulta de base de datos. SQL SERVER es el producto emblema de
motor de base de datos de Microsoft que está generando una enorme cantidad de interés en el
mercado.

SQL (Lenguaje de consulta estructurado): Es un tipo de lenguaje vinculado con la gestión de


bases de datos de carácter relacional que permite la especificación de distintas clases de
operaciones. Gracias a la utilización del álgebra y del cálculo relacional, el lenguaje SQL brinda
la posibilidad de realizar consultas que ayuden a recuperar información de las bases de datos de
manera sencilla.

B. Propiedades de Microsoft SQL Server


Las propiedades que ofrece Microsoft SQL Server son:
Las bases de datos pueden desarrollarse fácilmente ya sea en un equipo
mainframe o una mini computadora, sin importar su sistema operativo.
Portabilidad
Cuenta con soporte de SUN, lo que permite una mayor comunicación
entre servidores.
Los DBMS o SGBD (DataBase Management System, Sistema de
Gestión de Bases de Datos) se pueden ejecutar ya sea en computadoras
personales, microcomputadoras, mainframes y computadoras con
Compatibilidad
procesamiento paralelo masivo, así como en distintas arquitecturas de
hardware y software sin tener la necesidad de cambiar una sola línea de
código.
Los SGBD pueden trabajar con información almacenada con otros
Conectividad sistemas de bases de datos, así como también almacenar los datos y
acceder a ellos desde otros paquetes de software.
Permite verificaciones de usuarios, mantener clientes diferentes en una
misma base de datos y a señalar que a ciertos datos solo podrán acceder
Seguridad determinados usuarios, así como la codificación de información
privada. El Administrador puede programar permisos por tabla,
columna o fila.
Aporta funcionalidades de administración y tunning de la memoria, del

Administración CPU y de disco, de manera que se reduce el tiempo para la


administración. Primera base de datos que soporta la configuración
Manual De Base De Datos Con SQL-Server 20

automática y la auto-optimización por medio del servicio Agente SQL


Server.
Permiten una alta disponibilidad de aplicaciones sin necesidad de una
Rendimiento
reconfiguración de datos.
Funcionan con un amplio conjunto de herramientas de desarrollo,
Herramientas
De herramientas de consulta para el usuario final, aplicaciones comerciales
Desarrollo y herramientas de gestión de la información del ámbito corporativo.

C. Versiones de Microsoft SQL Server


Veamos una tabla de comparación Versión, Año y Nombre clave en donde veremos la evolución
de SQL Server hasta la última versión 2012.
Versión Año de lanzamiento Nombre del Proyecto
1.0 1989 SQL
4.21 1993 SEQUEL
6.0 1995 SQL95
6.5 1996 Hydra
7.0 1998 Sphinx
2000 Shiloh (SQL Server 2000)
8.0
2003 Liberty (SQL Server 2000 64 bits)
9.0 2005 Yukon (SQL Server 2005)
10.0 2008 Katmai (SQL Server 2008)
10.5 2010 Kilimanjaro (SQL Server 2008 R2)
11.0 2012 Demali (SQL Server 2012)
12.0 2014 (SQL Server 2014)
13.0 2016 (SQL Server 2016)

2.2. Requisitos Para La Instalación

 En las ediciones de 32 y 64 bits de SQL Server 2012 se aplican las consideraciones siguientes:
 Se recomienda ejecutar SQL Server 2012 en equipos con el formato de archivo NTFS. SQL
Server 2012 se puede instalar en un equipo con el sistema de archivos FAT32, pero no se
recomienda porque es menos seguro que el sistema de archivos NTFS.
 El programa de instalación de SQL Server bloqueará las instalaciones en unidades de disco de
solo lectura, asignadas o comprimidas.
Manual De Base De Datos Con SQL-Server 21

 SQL Server le exige que instale una actualización para asegurarse de que se puede instalar
correctamente el componente de Visual Studio.
 Si instala SQL Server 2012 en un equipo con el sistema operativo Windows Vista SP2 o
Windows Server 2008 SP2, puede obtener la actualización necesaria aquí.
 Si instala SQL Server 2012 en un equipo que tiene el sistema operativo Windows 7 SP1 o
Windows Server 2008 R2 SP1, o Windows Server 2012 o Windows 8, esta actualización
ya está incluida.
 La instalación de SQL Server 2012 produce un error si se inicia la instalación con Terminal
Services Client. No se admite el inicio del programa de instalación de SQL Server con Terminal
Services Client.
 El programa de instalación de SQL Server instala los siguientes componentes de software que
el producto necesita:
 SQL Server Native Client
 Archivos auxiliares del programa de instalación de SQL Server
 Actualización a SQL Server 2012: para obtener información acerca del uso de las herramientas
de SQL Server 2012 para preparar una actualización a SQL Server 2012, vea Usar el Asesor de
actualizaciones para preparar las actualizaciones.
 Para conocer los requisitos mínimos de versión para instalar SQL Server en Windows Server
2012 o Windows 8, vea Instalar SQL Server en Windows Server 2012 o Windows 8
(http://support.microsoft.com/kb/2681562).

Requisitos De Hardware Y De Software

Los siguientes requisitos se aplican a todas las instalaciones de SQL Server 2012:

Componente Requisito
.NET .NET 3.5 SP1 es un requisito para SQL Server 2012 cuando se selecciona Motor de base
Framework de datos, Reporting Services, Master Data Services, Data Quality Services, Replicación o
SQL Server Management Studio, y no lo instala ya el programa de instalación de SQL
Server.
 Si ejecuta el programa de instalación en un equipo con el sistema operativo
Windows Vista SP2 o Windows Server 2008 SP2 y no tiene .NET 3.5 SP1, el
programa de instalación de SQL Server le pide que descargue e instale .NET 3.5
SP1 para poder continuar con la instalación de SQL Server. El mensaje de error
incluye un vínculo al centro de descarga o bien puede descargar .NET 3.5 SP1
desde Windows Update. Para evitar la interrupción durante la instalación de SQL
Server, puede descargar e instalar .NET 3.5 SP1 antes de ejecutar el programa de
instalación de SQL Server.
Manual De Base De Datos Con SQL-Server 22

 Si el programa de instalación se ejecuta en un equipo con el sistema operativo


Windows Server 2008 R2 SP1, debe habilitar .NET Framework 3.5 SP1 antes de
instalar SQL Server 2012.
 Si ejecuta el programa de instalación en un equipo que tiene el sistema operativo
Windows Server 2012 o Windows 8, el programa de instalación de SQL Server
descarga e instala .NET Framework 3.5 SP1 automáticamente. Este proceso
necesita acceso a internet.
Si no tiene acceso a internet, debe descargar e instalar .NET Framework 3.5 SP1
antes de ejecutar el programa de instalación para instalar cualquiera de los
componentes mencionados anteriormente. Para obtener más información acerca de
las recomendaciones e instrucciones sobre cómo adquirir y habilitar .NET
Framework 3.5 en Windows Server 2012 o Windows 8, vea Consideraciones sobre
la implementación de Microsoft .NET Framework 3.5
(http://msdn.microsoft.com/library/windows/hardware/hh975396).
.NET 4.0 es un requisito para SQL Server 2012. SQL Server instala .NET 4.0 durante el
paso de instalación de características.
 Si está instalando las ediciones de SQL Server Express, asegúrese de que el equipo
disponga de conexión a Internet. El programa de instalación de SQL Server
descarga e instala .NET Framework 4 puesto que no se incluye en el medio de
instalación de SQL Server Express.
 SQL Server Express no instala .NET 4.0 en el modo Server Core de Windows
Server 2008 R2 SP1 o Windows Server 2012.Debe instalar .NET 4.0 .0 antes de
instalar SQL Server Express en una instalación Server Core de Windows Server
2008 R2 SP1 o de Windows Server 2012.
Windows SQL Server 2012 no instala ni habilita Windows PowerShell 2.0; sin embargo, Windows
PowerShell PowerShell 2.0 es un requisito previo de instalación para los componentes del Motor de
base de datos y SQL Server Management Studio. Si el programa de instalación notifica que
Windows PowerShell 2.0 no está presente, puede instalarlo o habilitarlo siguiendo las
instrucciones de la página Windows Management Framework.
Software de Los sistemas operativos admitidos para SQL Server 2012 tienen software de red
red integrado. Las instancias con nombre y predeterminadas de una instalación independiente
admiten los siguientes protocolos de red: Memoria compartida, Canalizaciones con
nombre, TCP/IP y VIA.
Para obtener más información acerca de los protocolos de red y las bibliotecas de red,
vea Protocolos de red y bibliotecas de red.
Virtualización SQL Server 2012 se admite en entornos de máquina virtual que se ejecutan en el rol Hyper-
V de:
Manual De Base De Datos Con SQL-Server 23

 Windows Server 2008 SP2 Standard, Enterprise y Datacenter


 Windows Server 2008 R2 SP1 Standard, Enterprise y Datacenter.
 Windows Server 2012 Datacenter y Standard.
Además de los recursos que necesita la partición primaria, a cada máquina virtual (partición
secundaria) se le deben proporcionar suficientes recursos de procesador, memoria y
recursos de disco para su instancia de SQL Server 2012. Los requisitos se enumeran más
adelante en este tema.1
Dentro del rol Hyper-V de Windows Server 2008 SP2 o Windows Server 2008 R2 SP1, se
puede asignar un máximo de 4 (cuatro) procesadores virtuales a las máquinas virtuales que
ejecutan ediciones de 32 o 64 bits de Windows Server 2008 SP2, ediciones de 64 bits de
Windows Server 2008 R2 o ediciones de 64 bits de Windows Server 2012.
Dentro del rol Hyper-V de Windows Server 2012,
 Se puede asignar un máximo de 8 (ocho) procesadores virtuales a las máquinas
virtuales que ejecutan ediciones de 32 y 64 bits de Windows Server 2008 SP2.
 Se puede asignar un máximo de 64 (sesenta y cuatro) procesadores virtuales a las
máquinas virtuales que ejecutan ediciones de 64 bits de Windows Server 2008 R2
SP1 o de Windows Server 2012.
Para obtener más información sobre los límites de la capacidad de cálculo para distintas
ediciones de SQL Server 2012 y sus diferencias en entornos físicos y virtualizados con los
procesadores hyperthreaded, vea Límites de la capacidad de cálculo de cada edición de
SQL Server. Para obtener más información sobre el rol Hyper-V, vea el sitio web de
Windows Server 2008.
Software de Se necesita Internet Explorer 7 o una versión posterior para Microsoft Management
Internet Console (MMC), SQL Server Data Tools (SSDT), el componente Diseñador de informes
de Reporting Services y la Ayuda HTML.
Disco duro SQL Server 2012 requiere un mínimo de 6 GB de espacio disponible en disco.
Las necesidades de espacio en disco variarán según los componentes de SQL Server 2012
que instale. Para obtener más información, vea la sección Requisitos de espacio en el disco
duro (32 y 64 bits) posteriormente en este tema. Para obtener información acerca de los
tipos admitidos de almacenamiento para los archivos de datos, vea Tipos de
almacenamiento para los archivos de datos.
Unidad Para la instalación desde disco se necesita una unidad de DVD.
Monitor SQL Server 2012 requiere Super VGA (800x600) o un monitor de una resolución mayor.
Internet La funcionalidad de Internet necesita acceso a Internet (no necesariamente de carácter
gratuito).
Manual De Base De Datos Con SQL-Server 24

Requisitos De Procesador, Memoria Y Sistema Operativo

Los siguientes requisitos de memoria y procesador se aplican a todas las ediciones de SQL Server

Componente Requisito
Memoria[1] Mínimo:
Ediciones Express: 512 MB
Todas las demás ediciones: 1 GB
Se recomienda:
Ediciones Express: 1 GB
Todas las demás ediciones: al menos 4 GB y debe aumentar a medida que el tamaño
de la base de datos aumente para asegurar un rendimiento óptimo.
Velocidad del Mínimo:
procesador  Procesador x86: 1,0 GHz
 Procesador x64: 1,4 GHz
Recomendado: 2 GHz o más
Tipo de  Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con
procesador Intel EM64T Intel Pentium IV compatible con EM64T
 Procesador x86: compatible con Pentium III o superior

Compatibilidad Entre Idiomas

Para obtener más información acerca de la compatibilidad entre idiomas y consideraciones acerca
de la instalación de SQL Server en idiomas traducidos, vea Versiones en idioma local en SQL
Server.

Compatibilidad Con Sistemas Extendidos

SQL Server 2012 Las versiones de 64 bits de SQL Server son compatibles con los sistemas
extendidos, también denominados Windows 32 bits sobre Windows 64 bits (WOW64). WOW64
es una característica de las ediciones de 64 bits de Windows que permite que las aplicaciones de
32 bits se ejecuten de forma nativa en el modo de 32 bits. Las aplicaciones funcionan en el modo
de 32 bits, aunque el sistema operativo subyacente sea de 64 bits.

Requisitos De Espacio En Disco Duro (32 Y 64 Bits)

Durante la instalación de SQL Server 2012, Windows Installer crea archivos temporales en la
unidad del sistema. Antes de ejecutar el programa de instalación para instalar o actualizar SQL
Server, compruebe que dispone de al menos 6,0 GB de espacio en disco en la unidad del sistema
para estos archivos. Este requisito es aplicable incluso si instala todos los componentes de SQL
Server en una unidad distinta de la predeterminada.
Manual De Base De Datos Con SQL-Server 25

Los requisitos reales de disco duro dependen de la configuración del sistema y de las características
que decida instalar. Para obtener una lista de las características admitidas por las ediciones de SQL
Server, vea Características compatibles con las ediciones de SQL Server 2012. En la tabla siguiente
se muestran los requisitos de espacio en disco de los componentes de SQL Server 2012.

CARACTERÍSTICA REQUISITO DE
ESPACIO EN
DISCO
Motor de base de datos y archivos de datos, replicación, búsqueda de texto 811 MB
completo y Data Quality Services
Analysis Services y archivos de datos 345 MB
Reporting Services y Administrador de informes 304 MB
Integration Services 591 MB
Master Data Services 243 MB
Componentes de cliente, excepto los componentes de los Libros en pantalla de 1823 MB
SQL Server y las herramientas de Integration Services.
Los componentes de los Libros en pantalla de SQL Server para ver y 375 KB
administrar el contenido de la Ayuda1

2.3. Instalación y Acceso

A. Instalación de Microsoft SQL Server


 Para obtener el Software puede descargar la versión de prueba desde la página oficial
www.microsoft.com.
 Al ejecutar el instalador de SQL Server 2008 R2 y 2012 Express en español, la instalación
mostrará el siguiente mensaje:

 Haga clic “Aceptar” y vaya a Panel de control de Windows y localice la opción “Región” y
haga clic en el mismo.

 En la pestaña “Formatos” localice el renglón “Formato”, seleccione el idioma “Español


(España)”, aplique y acepte los cambios realizados y vuelva a ejecutar el instalador de SQL
Server.
 Una vez terminada la instalación de SQL Server en español regrese el idioma a “Español
(Perú)”
Manual De Base De Datos Con SQL-Server 26

Paso 1. Haga doble clic sobre el instalador.

Paso 2. Haga clic en “Nueva instalación independiente de SQL Server o agregar


características a una instalación existente”. El programa realizará varios procesos internos,
una vez terminados presentará la siguiente pantalla:
Manual De Base De Datos Con SQL-Server 27

Paso 3. Active la opción “Acepto los términos de licencia” y presione “Siguiente”.

Nota. En caso de que no se cumplan con todos los requerimientos que pide SQL Server para su
instalación no dejará continuar, corrija y vuelta a correr el proceso.

Si el programa no detecto ningún error presentará la siguiente pantalla:

Paso 4. Haga clic en “Siguiente”.

El programa dará inicio con el proceso de actualización, al terminar presentará la siguiente


pantalla:
Manual De Base De Datos Con SQL-Server 28

Paso 5. En el apartado “Características” desactive la opción “Replicación de SQL Server”


y en el campo “Directorio de características compartidas” verificar la ruta en donde se
instalará el programa, presione “Siguiente”.

Paso 6. Verificar que este activada la opción “Instancia con nombre”, y el nombre de la
instancia sea “SQLExpress”, en “Id. de instancia” sea “SQLEXPRESS” y en “Directorio
de SQL Server” sea la ruta indicada anteriormente, presione “Siguiente”.
Manual De Base De Datos Con SQL-Server 29

Paso 7. En la pestaña “Cuentas de servicio” en la columna “Servicio” localice el renglón


“SQL Server Browser” en la columna “Tipo de inicio” seleccione “Automático”, presione
“Siguiente”.

Paso 8. En la pestaña “Configuración del servidor”, en el apartado “Modo de autenticación”


active la opción “Modo mixto (autenticación de SQL Server y de Windows)”.

En el apartado “Especifique la contraseña de la cuenta de admnistrador del Sistema de


SQL Server (sa)”.

 Escriba contraseña. Capture contraseña para accesar a SQL Express.


 Confirmar contraseña. Capture de nuevo la contraseña para accesar a SQL Express.
Resguarde en un lugar seguro la contraseña para accesar a SQL, ya que la utilizará para crear
Base de Datos.

Verifique que en el apartado “Especifique los administradores de SQL Server” este agregado
el Usuario de Windows, como se muestra en la imagen anterior, presione “Siguiente”.
Manual De Base De Datos Con SQL-Server 30

Paso 9. No debe de estar activada la opción “Enviar informes de errores de Windows y SQL
Server a Microsoft...”, presione “Siguiente”.

El programa iniciará con la instalación. El proceso puede durar varios minutos, dependiendo de
la velocidad de sus unidades.
Manual De Base De Datos Con SQL-Server 31

Paso 10. El programa indica que ha terminado la instalación. Presione “Cerrar” para terminar
con la instalación.

B. Acceso al Microsoft SQL Server


 Ir al botón inicio del Windows debe seleccionar Todos los programas luego “Microsoft
SQL server 2012” después a “SQL Sever Management Studio”.

 Al iniciar se muestra la pantalla inicial de SQL Server 2012.


Manual De Base De Datos Con SQL-Server 32

 Luego debemos señalar el nombre del servidor y tipo de autentificación configurado en la


ventana.

 A continuación, se muestra el entorno SQL Server 2012


Manual De Base De Datos Con SQL-Server 33

 Luego ir al ítem New Query donde trabajaremos las instrucciones.

Algunas herramientas:

Se muestran todas las base de datos disponibles, su


acceso rápido es CTRL+U.

Ejecutar conjunto de consultas, también se puede


presionar F5.

Verifica que el conjunto de instrucciones es correcto pero


no ejecuta

Permite colocar y eliminar comentarios sobre las


instrucciones del usuario

Explorador de Objetos (F8)

Desde aquí se podrá administrar la base de datos, seguridad, objetos de servidor, puede
conectarse a varios servidores y administrarlos al mismo tiempo.
Manual De Base De Datos Con SQL-Server 34

Entorno de desarrollo (F4)

Nos dirigimos una nueva hoja de edición desde el botón New Query o desde el menú File
después New y “Database Engine Query”.

2.4. Configuración Del Entorno De Trabajo

En muchas ocasiones confundimos algunos operadores símbolos en los script; por ejemplo, la
letra “o” con el número “(0-0)” ambos puede ocasionar errores lógicos cuando ejecutamos el
script; en conclusión debemos se recomienda las fuente Consolas con un tamaña establecido
pro el usuario para un buen desempeño del script.
Manual De Base De Datos Con SQL-Server 35

Configuración:
 Herramientas (Tools) luego a Opciones (Option)
 Selecciones Font and Colors
 Cambie el tipo de fuente en Font.
 Presiona OK

2.5. Conexión de CA ERWIN DATA MODELER con SQL Server

Ingresamos al menú Database, luego pasamos a opción “Choose Database” para elegir con que
gestor de base de datos trabajara.
Manual De Base De Datos Con SQL-Server 36

Ahora nos dirigimos nuevamente al menú Database, elegimos opción “Database Connection” ( al
indicar el nombre de base de Datos previamente se debió crear en el SGBD SQL server).

Nuevamente dirigirse al menú Tools, opción Forward Engineer , de ahí a “Schema Generation”,
verificar que los objetos
Manual De Base De Datos Con SQL-Server 37

Ahora nos dirigimos a “generate”


Manual De Base De Datos Con SQL-Server 38

2.6. Crear La Base De Datos En SQL Server

Se crea automáticamente todas las tablas de la base de datos “LEGAJOS_CSJAN”


Manual De Base De Datos Con SQL-Server 39

Capítulo 3: Lenguaje de Definición de Datos (LDD)

Capítulo

3
Lenguaje de Definición
de Datos (LDD)
CAPACIDAD CONTENIDO

 Definición Previas
 Sentencia CREATE
 Sentencia ALTER
 Sentencia DROP
DDDD
Manual De Base De Datos Con SQL-Server 40

3.1. Definición Previas

Lenguaje de Definición de Datos (LDD)


Un lenguaje de definición de datos (Data Definition Language, DDL) es un lenguaje proporcionado
por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las
tareas de definición de las estructuras que almacenarán los datos, así como de los procedimientos
o funciones que permitan consultarlos.

Un Data Definition Language o Lenguaje de descripción de datos (DDL) es un lenguaje de


programación para definir estructuras de datos. El término DDL fue introducido por primera vez
en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha
sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y
"conjuntos" que conforman el usuario modelo de datos. Más tarde fue usado para referirse a un
subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje
formal para describir datos o estructuras de información, como los esquemas XML.

Siendo DDL un lenguaje que permite definir la base de datos (su estructura o “schemas”), tiene
una sintaxis similar a los lenguajes de programación.

Ejemplos de DDL:

 CREATE TABLE nombre_tabla;


 DROP TABLE nombre_tabla;
 ALTER TABLE nombre_tabla ADD id INTEGER;

A diferencia de muchos lenguajes de descripción de datos, SQL utiliza una acción de versos
imperativo cuyo efecto es modificar el esquema de la base de datos, añadiendo, cambiando o
eliminando las definiciones de tablas y otros objetos. Estas declaraciones se pueden mezclar
libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente.
La declaración más común es CREATE TABLE. El lenguaje de programación SQL, el más
difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición:
CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas,
procedimientos almacenados y triggers de la base de datos.
Manual De Base De Datos Con SQL-Server 41

3.2. Sentencia CREATE

 Para crear una nueva base de datos, índice o almacenamiento de consultas.


 Un argumento CREATE en SQL crea un objeto dentro del sistema de administración de la
base de datos relacional (RDBMS).
 El tipo de objetos que se pueden crear depende de qué RDBMS está siendo utilizado, pero
la mayoría soporta la creación de tablas, índices, usuarios y bases de datos.
 Algunos sistemas (tales como PostgreSQL) permiten CREATE y otros comandos DDL,
dentro de transacciones, y por lo tanto pueden ser revertidos.

COMANDO DE CREACION DE OBJETOS DE UNA BASE DE DATOS


--ESTRUCTURA DE CREACION

CREATE OBJETO NOMBREOBJETO (


--ESTRUCTURA DEL OBJETO
)GO

CREANDO UNA BASE DE DATOS CON VALORES ESTÁNDARES

CREATE DATABASE LEGAJOS_CSJAN


GO

Para verificar los valores estándar se tiene que ejecutar el siguiente comando

--VERIFIACION DE PARAMETROS DE LA BASE DE DATOS

SP_HELPDB LEGAJOS_CSJAN
GO

Implementar un Script que permita crear la tabla Sede dentro de la base de datos
LEGAJOS_CSJAN
Manual De Base De Datos Con SQL-Server 42

CREANDO UNA TABLA EN LA BASE DE DATOS LEGAJOS_CSJAN

--UTILIZANDO BASE DE DATOS LEGAJOS_CSJAN

USE LEGAJOS_CSJAN
GO

-- CREANDO LA TABLA SEDE

CREATE TABLE Sede(


idsede VARCHAR(10) NOT NULL,
nomsede VARCHAR(100) NOT NULL,
obssede VARCHAR(100)
)
GO
Considere que para ejecutar el Script de creación de la tabla se deberá activar la base
de datos para esto deberá ejecutar el siguiente Script:

USE LEGAJOS_CSJAN
GO

Implementar un Script que permita crear el TRIGGER TG_MENSAJE que muestre un mensaje
al usuario cuando se realice una inserción o actualización a la tabla Sede.
o En el Script se implementa la creación del desencadenador TG_MENSAJE que permite
mostrar un mensaje cuando el usuario registra una nueva Sede o cuando actualice algún
campo de la tabla Sede.
CREANDO UN TRIGGER A LA TABLA SEDE

--CREACION DEL TRIGGER


CREATE TRIGGER TG_MENSAJE
ON Sede
FOR INSERT,UPDATE
AS
PRINT 'LA SEDE SE ACTUALIZO CORRECTAMENTE.'
GO
Para comprobar el TRIGGER se debe de realizar un nuevo registro a la tabla Sede
con el siguiente Script.

--INSERCCION DE DATOS Y ACTUALIZACION


INSERT INTO Sede (idsede,nomsede,obssede)
VALUES ('AI','AIJA/AIJA',' ')
GO
O ACTUALIZACION:
UPDATE Sede SET idsede='A',nomsede='AIJA/AIJA',obssede='
'
WHERE idsede='AI'
GO
Manual De Base De Datos Con SQL-Server 43

Implementar un Script que permita crear el procedimiento almacenado PA_TOTALSEDES de la


tabla Sede

CREANDO UN PROCEDIMIENTO ALMACENADO A LA TABLA SEDE

--CREACION DEL PROCEDIMIENTO

CREATE PROCEDURE PA_TOTALSEDES


AS
BEGIN
SELECT COUNT(*) AS [TOTAL]
FROM Sede
END
GO
Para ejecutar el Procedimiento almacenado se deberá de realizar la siguiente
consulta:

--COMANDO DE EJECUCION

EXEC PA_TOTALSEDES
Manual De Base De Datos Con SQL-Server 44

Implementar un Script que permita crear la función FN_TOTALSEDES de una determinada sede

CREANDO UNA FUNCION A LA TABLA SEDE

CREATE FUNCTION FN_TOTALSEDES (@SEDE VARCHAR(100))


RETURNS INT
AS
BEGIN
DECLARE @TOTAL INT
SELECT @TOTAL=COUNT (*)
FROM SEDE
WHERE NOMSEDE=@SEDE
GROUP BY NOMSEDE
RETURN @TOTAL
END

Probando la función mediante una consulta:

SELECT DBO.FN_TOTALSEDES('ANTONIO RAIMONDI/LLAMELLIN')AS


[TOTAL DE SEDES]

Probando la función usando el comando Print:

PRINT 'TOTAL DE SEDES ES:'+STR(DBO.FN_TOTALSEDES('ANTONIO


RAIMONDI/LLAMELLIN'))

Implementar un Script que permita crear la vista V_SEDES donde muestre los registros contenidos
de la tabla SEDE.
Manual De Base De Datos Con SQL-Server 45

CREANDO UNA VISTA EN LA BASE DE DATOS LEGAJOS_CSJAN

CREATE VIEW V_SEDES


AS
SELECT S.NOMSEDE AS [SEDE], S.OBSSEDE AS [OBSERVACION]
FROM SEDE S
GO
Ejecutando la Vista:

SELECT * FROM V_SEDES

3.3. Sentencia ALTER

 Se utiliza para modificar la estructura de la tabla, como en los casos siguientes:


o Añadir una columna.
o Eliminar una columna.
o Cambiar el nombre de una columna.
o Cambiar el tipo de datos para una columna.

COMANDO DE MODIFICACION DE OBJETOS DE UNA BASE DE DATOS

--ESTRUCTURA DE MODIFICACION DE OBJETO

ALTER OBJETO NOMBREOBJETO (


--DATOS HA MODIFICAR
)GO

MODIFICANDO NOMBRE DE UNA BASE DE DATOS CON VALORES ESTÁNDARES

--USAR BASE DE DATOS "MASTER"

USE MASTER
GO
Manual De Base De Datos Con SQL-Server 46

--REALIZAR ALTERACION

ALTER DATABASE LEGAJOS_CSJAN MODIFY NAME = LEGAJOS_CSJAN2


GO

Para verificar la modificación del nombre de la base de datos ejecutar este


comando

--VERIFICACION DE BASE DE DATOS.

SELECT * FROM SYS.SYSDATABASES

--ANTES DE APLICAR LA SENTENCIA "ALTER"

--DESPUES DE APLICAR LA SENTENCIA "ALTER"

Implementar un script que permita agregar un archivo secundario a la base de datos


“LEGAJOS_CSJAN” donde se denominara “LEGAJOS_CSJAN_SECUND2” de tamaño
inicial de 7 MB y un tamaño máximo de 15 MB con un factor de crecimiento de 3%.

AGREGANDO UN ARCHIVO SECUNDARIO A LA BASE DE DATOS


--ALTERACION DE LA BASE DE DATOS.

ALTER DATABASE LEGAJOS_CSJAN


ADD FILE(
NAME='LEGAJOS_CSJAN_SECUND2',
FILENAME='C:\PROGRAM FILES\MICROSOFT SQL
SERVER\MSSQL11.SQLEXPRESS\MSSQL\DATA\LEGAJOS_CSJAN_SECUND2.NDF',
SIZE=7MB,
MAXSIZE=15MB,
FILEGROWTH=3%)
Manual De Base De Datos Con SQL-Server 47

Considere que para ejecutar el Script de alterar creando un archivo secundario tiene
que tener cuidado con la ubicación del archivo.
--VERIFICACION DE PARAMETROS.

SP_HELPDB 'LEGAJOS_CSJAN'
GO
--ANTES DE LA MODIFICACION.

--APLICANDO MODIFICACION.

Implementar un script que permita modificar la precisión de la columna NomSede asignada


inicialmente con el valor 100 y modificarlo por 45 de la tabla SEDE:

MODIFICANDO COLUMNA DE TABLA SEDE


--VERICAR COLUMNAS DE LA TABLA SEDE

SP_COLUMNS SEDE
GO

--ALTERAR NOMSEDE

ALTER TABLE SEDE


ALTER COLUMN NOMSEDE VARCHAR (45) NOT NULL
GO

Considere que para ejecutar el Script de alterar debe coincidir el nombre de la columna
a modificar con la tabla.
--ANTES DE MODIFICAR LA COLUMNA

--DESPUES DE MODIFICAR LA COLUMNA


Manual De Base De Datos Con SQL-Server 48

Implementar una consulta que permita modificar el TG_MENSAJE que adicione al mensaje
anterior la fecha de inserción o actualización en la tabla Boleta.

MODIFICANDO TRIGGER
--ALTERAR TRIGGER

ALTER TRIGGER TG_MENSAJE


ON SEDE
FOR INSERT, UPDATE
AS
PRINT 'LA SEDE SE ACTUALIZO CORRECTAMENTE'
PRINT 'FECHA: '+CAST (GETDATE () AS VARCHAR (25))
GO

Considere que para ejecutar el Script de alterar debe coincidir el nombre de la columna
a modificar con la tabla.
--INSERCION.

INSERT INTO SEDE VALUES('AR','ANTONIO RAIMONDI/LLAMELLIN','OBSER1'),


('A_1','ASUNCIÓN/CHACAS','OBSER2'),
('B','BOLOGNESI/CHIQUIAN','OBSER'),
('C','CARHUAZ/CARHUAZ','OBSER'),
('CFFL','CARLOS F. FITZCARRALD/SAN LUIS','OBSER'),
('H','HUARAZ/HUARAZ','OBSER'),
('HM','HUARI/SAN MARCOS','OBSER'),
('H_1','HUARI/HUARI','OBSER2'),
('H_2','HUAYLAS/CARAZ','OBSER3'),
('M','MARAÑÓN/HUACRACHUCO','OBSER3'),
('ML','MARISCAL LUZURIAGA/PISCOBAMBA','OBSER4')

--MODIFICACION

UPDATE SEDE SET NOMSEDE= 'SEDEMODIF' WHERE IDSEDE='A_1'


GO
Manual De Base De Datos Con SQL-Server 49

Implementar un script que permita modificar el procedimiento almacenado PA_TOTALSEDES


de la tabla SEDE donde muestre el total de sedes registradas y la hora de ejecución del
procedimiento.

MODIFICANDO DE PROCEDIMIENTO ALMACENADO


--MODIFICANDO PROCEDIMIENTO ALMACENADO

ALTER PROCEDURE PA_TOTALSEDES


AS
BEGIN
SELECT
SYSDATETIME() AS FECHA,
COUNT (*) AS TOTAL
FROM SEDE

GROUP BY NOMSEDE

END
GO

Considere que para ejecutar el procedimiento almacenado

--EJECUACION DEL PROCEDIMIENTO ALMACENADO

EXEC SP_TOTALBOLETAS

Implementar una consulta que permita modificar la función FN_TOTALSEDES de una


determinada Observación ingresado por el usuario a la tabla SEDE.

MODIFICANDO DE FUNCIONES
--MODIFICANDO FUNCION

ALTER FUNCTION FN_TOTALSEDES (@OBSERVACION VARCHAR(100))


RETURNS INT

AS
BEGIN
DECLARE @TOTAL INT

SELECT @TOTAL=COUNT (*)


FROM SEDE
Manual De Base De Datos Con SQL-Server 50

WHERE OBSSEDE=@OBSERVACION
GROUP BY OBSSEDE
RETURN @TOTAL
END
GO

Considere que para ejecutar el función

--EJECUACION DE LA FUNCION
SELECT DBO.FN_TOTALSEDES('OBSER')AS [TOTAL DE SEDES]
GO

Implementar una consulta que permita modificar la vista V_SEDE donde muestre solo las
columnas Nombre sede de la tabla SEDE, además de encriptar la información de la
implementación.

MODIFICANDO VISTA
--MODIFICANDO VISTA
ALTER VIEW V_SEDES
WITH ENCRYPTION
AS
SELECT NOMSEDE
FROM SEDE
GO

Considere que para ejecutar vista

--EJECUACION DE LA VISTA

SELECT * FROM V_SEDES


Manual De Base De Datos Con SQL-Server 51

3.4. Sentencia DROP

 Para destruir una base de datos, tabla, índice o vista existente.


 Un argumento DROP en SQL remueve un objeto dentro del sistema de administración de
la base de datos relacional (RDBMS).
 El tipo de objetos que se pueden eliminar depende de que RDBMS está siendo utilizado,
pero la mayoría soporta la eliminación de tablas, índices, usuarios y bases de datos.
 Algunos sistemas (tales como PostgreSQL) permiten DROP y otros comandos DDL, dentro
de transacciones, y por lo tanto pueden ser revertidos.
COMANDO DE ELIMINACION DE OBJETOS DE UNA BASE DE DATOS
--ESTRUCTURA DE ELIMINACION

DROP OBJETO NOMBREOBJETO

Implementar un script que permita eliminar la base de datos LEGAJOS_CSJAN.


ELIMINACION DE UNA BASE DE DATOS

--USAR BASE DE DATOS MASTER


USE MASTER
GO

--ELIMINAR BASE DE DATOS

DROP DATABASE LEGAJOS_CSJAN


GO

Para eliminar la base de datos “LEGAJOS_CSJAN” no tiene que ser la base de datos
activa, debe de ser la base de datos “Master o Maestra”.

Implementar una consulta que permita eliminar la tabla sede de la base de datos
LEGAJOS_CSJAN.
ELIMINACION DE UNA TABLA

--USAR BASE DE DATOS LEGAJOS_CSJAN


USE LEGAJOS_CSJAN
GO
--ELIMINAR TABLA

DROP TABLE SEDE


GO

Para eliminar la tabla “Sede” esta tiene que estar asociada con la base de datos
“LEGAJOS_CSJAN”, tener en cuenta que al eliminar la tabla tambien pasa lo mismo con los
indics, triggers, constrains y permisos especificado en la tabla.
Manual De Base De Datos Con SQL-Server 52

Implementar un script que permita eliminar el trigger TG_MENSAJE asociado a la tabla SEDE
de la base de datos LEGAJOS_CSJAN.

ELIMINACION DE UN TRIGGER

--USAR BASE DE DATOS LEGAJOS_CSJAN

USE LEGAJOS_CSJAN
GO

--ELIMINAR

DROP TRIGGER TG_MENSAJE


GO

--DESACTIVAR TRIGGER

DISABLE TRIGGER 'TX_MENSAJE'

Eliminar del trigger “TG_MENSAJE” es cuando ya no esta asociado a una tabla, porque SQL
tambien te permite habilitar e inhabilitar un trigger con la sentencia Disable.
Manual De Base De Datos Con SQL-Server 53

Capítulo 4: Base de Datos con SQL Server

Capítulo

4
Base de Datos
con SQL Server
CAPACIDAD CONTENIDO

 Definiciones Previas
 Objetivos De Una Base De Datos
 Bases De Datos En SQL Server
 Estructura De Una Base De Datos
 Creación De Una Base De Datos
 Caso Práctico: Gestión De Legajos
 Adjuntar Y Separa Una Base De Datos
DDDD
 Esquemas En SQL Server
 Tipo De Datos En SQL Server
 Tipo De Datos Definidos Por El Usuario
 Propiedades De Los Atributos
 El Objeto Tabla
 Manejo de tablas con Esquemas
 Restricciones De Tipo: Unique, Check, Default
 Generación De Esquemas, Caso Propuesto:
Gestión De Legajos
Manual De Base De Datos Con SQL-Server 54

4.1. Definiciones Previas

¿Qué son las bases de datos?

o Una base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A
continuación, te presentamos una guía que te explicará el concepto y características de las
bases de datos.
o El término de bases de datos fue escuchado por primera vez en 1963, en un simposio
celebrado en California, USA. Una base de datos se puede definir como un conjunto de
información relacionada que se encuentra agrupada o estructurada.
o Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto
de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulen ese conjunto de datos.
o Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada
tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información
sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un
registro.

Definición de base de datos

Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales
son recolectados y explotados por los sistemas de información de una empresa o negocio en
particular.

Características

Entre las principales características de los sistemas de base de datos podemos mencionar:

 Independencia lógica y física de los datos.


 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Consultas complejas optimizadas.
 Seguridad de acceso y auditoría.
 Respaldo y recuperación.
 Acceso a través de lenguajes de programación estándar.
Manual De Base De Datos Con SQL-Server 55

Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Base de Datos (DataBase Management System) son un tipo de software
muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones
que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación
de datos y de un lenguaje de consulta.

Ventajas de las bases de datos

Control sobre Los sistemas de ficheros almacenan varias copias de los mismos datos en
la redundancia ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento,
de datos: además de provocar la falta de consistencia de datos.
Eliminando o controlando las redundancias de datos se reduce en gran
medida el riesgo de que haya inconsistencias. Si un dato está almacenado
Consistencia de una sola vez, cualquier actualización se debe realizar sólo una vez, y está
datos: disponible para todos los usuarios inmediatamente. Si un dato está duplicado
y el sistema conoce esta redundancia, el propio sistema puede encargarse de
garantizar que todas las copias se mantienen consistentes.
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los
Compartir departamentos que los utilizan. Pero en los sistemas de bases de datos, la
datos: base de datos pertenece a la empresa y puede ser compartida por todos los
usuarios que estén autorizados.
Gracias a la integración es más fácil respetar los estándares necesarios, tanto
los establecidos a nivel de la empresa como los nacionales e internacionales.
Mantenimiento
Estos estándares pueden establecerse sobre el formato de los datos para
de estándares:
facilitar su intercambio, pueden ser estándares de documentación,
procedimientos de actualización y también reglas de acceso.
La integridad de la base de datos se refiere a la validez y la consistencia de
Mejora en la los datos almacenados. Normalmente, la integridad se expresa mediante
integridad de restricciones o reglas que no se pueden violar. Estas restricciones se pueden
datos: aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe
encargar de mantenerlas.
La seguridad de la base de datos es la protección de la base de datos frente a
Mejora en la usuarios no autorizados. Sin unas buenas medidas de seguridad, la
seguridad: integración de datos en los sistemas de bases de datos hace que éstos sean
más vulnerables que en los sistemas de ficheros.
Mejora en la Muchos SGBD proporcionan lenguajes de consultas o generadores de
accesibilidad a informes que permiten al usuario hacer cualquier tipo de consulta sobre los
los datos:
Manual De Base De Datos Con SQL-Server 56

datos, sin que sea necesario que un programador escriba una aplicación que
realice tal tarea.
El SGBD proporciona muchas de las funciones estándar que el programador
Mejora en la necesita escribir en un sistema de ficheros. A nivel básico, el SGBD
productividad: proporciona todas las rutinas de manejo de ficheros típicas de los programas
de aplicación.
Mejora en el En los sistemas de ficheros, las descripciones de los datos se encuentran
mantenimiento: inmersas en los programas de aplicación que los manejan.
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder
simultáneamente a un mismo fichero, es posible que el acceso interfiera entre
Aumento de la
ellos de modo que se pierda información o se pierda la integridad. La mayoría
concurrencia:
de los SGBD gestionan el acceso concurrente a la base de datos y garantizan
que no ocurran problemas de este tipo.
Mejora en los Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las
servicios de medidas necesarias para proteger los datos ante fallos en el sistema o en las
copias de aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y
seguridad: si se produce algún fallo, utilizar estas copias para restaurarlos.

Desventajas de las bases de datos

Los SGBD son conjuntos de programas que pueden llegar a ser complejos
Complejidad: con una gran funcionalidad. Es preciso comprender muy bien esta
funcionalidad para poder realizar un buen uso de ellos.
Tanto el SGBD, como la propia base de datos, pueden hacer que sea
Coste del necesario adquirir más espacio de almacenamiento. Además, para alcanzar
equipamiento las prestaciones deseadas, es posible que sea necesario adquirir una máquina
adicional: más grande o una máquina que se dedique solamente al SGBD. Todo esto
hará que la implantación de un sistema de bases de datos sea más cara.
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea
Vulnerable a
más vulnerable ante los fallos que puedan producirse. Es por ello que deben
los fallos:
tenerse copias de seguridad (Backup).
Tipos de Cada Sistema de Base de Datos posee tipos de campos que pueden ser
Campos similares o diferentes.
Manual De Base De Datos Con SQL-Server 57

Componentes de una Base de Datos:

Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc.

Software: que es el DBMS o Sistema Administrador de Base de Datos.

Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para
convertirse en información.

4.2. Objetivos De Una Base De Datos

1. Independencia lógica y física de los datos.


Se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura
sin que esta modificación afecte al nivel inmediatamente superior. El conjunto de datos
contenidos en la base debe ser única y estar integrada por los mismos datos.

2. Redundancia mínima.
Debe ser controlada, de forma que no exista duplicidad innecesaria, y que las redundancias
físicas, convenientes muchas veces a fin de responder a objetivos de eficiencia, sean tratadas
por el mismo sistema, de modo que no puedan producirse inconsistencias.

Se trata de usar la base de datos como repositorio común de datos para distintas aplicaciones.
Un dato se actualizará lógicamente por el usuario en forma única, y el sistema se preocupará
de cambiar físicamente todos aquellos campos en los que el dato estuviese repetido en caso
de existir redundancia física (redundancia controlada).
Manual De Base De Datos Con SQL-Server 58

3. Acceso concurrente por parte de múltiples usuarios


Las bases de datos pretenden servir al conjunto de la organización, manejando los datos como
otro recurso. Por lo tanto, las bases de datos han de atender a múltiples usuarios y a diferentes
aplicaciones. En contraposición a los sistemas de ficheros, en donde cada fichero atiende a
determinada aplicación.

4. Distribución espacial de los datos.


Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país, el usuario no
tiene por qué preocuparse de la localización espacial de los datos a los que accede.

5. Integridad de los datos.


Se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos. Esto
puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta
debido a causas externas), como de operación (introducción de datos incoherentes).

6. Consultas complejas optimizadas.


Permite la rápida y ejecución de las mismas.

7. Seguridad de acceso y auditoría.


Se refiere al derecho de acceso a los datos contenidos en la base por parte de personas y
organismos.

El sistema de auditoría mantiene el control de acceso a la base, con el objeto de saber qué o
quién realizó una determinada modificación y en qué momento. Por ejemplo, un profesor
quiere cambiar una calificación por alguna omisión, el sistema de la base le permitirá hacer el
cambio, pero quedara el registro del día y el motivo del cambio, esto lo checan los jefes de
academia y observan si el profesor le ayuda al alumno o realizan su trabajo adecuadamente.

8. Respaldo y recuperación.
Se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento
previo a la pérdida de datos.

9. Acceso a través de lenguajes de programación estándar.


Se refiere a la posibilidad ya mencionada de acceder a los datos de una base mediante lenguajes
de programación ajenos al sistema de base de datos. en pocas palabras son los programas o
software con los que se mandarán llamar y diseñar los datos que aparecerán en la pantalla.
Manual De Base De Datos Con SQL-Server 59

4.3. Bases De Datos En SQL Server

Al instalar SQL Server también se registran bases de datos que administran diferentes aspectos de
servidor de Base de Datos. SQL cuenta con las siguientes Bases de Datos del sistema:

Master es el núcleo de toda instancia en SQL Server, es decir, que contiene


información vital sobre una instancia de SQL Server. Se compone de tablas de
sistema que registran el seguimiento de la instalación del servidor y de la
MASTER
administración de todas las bases de datos que se generen posteriormente. La
información que contiene es base de datos, opciones de configuración, triggers a
nivel de servidor y servidores con enlace.
Es una base de datos temporal, técnicamente es informal para SQL Server y su
uso es generalmente cuando se realiza operaciones de clasificación y agregación.
TEMPDB En ocasiones, las aplicaciones usan tablas, procesos y cursores de esta tabla ya
que provee de un espacio de trabajo temporal y tiene la capacidad de regalarse
cada vez que arranca SQL Server.
Model es una plantilla para todas las bases de datos creadas en el servidor, esto lo
podrá implementar cuando ejecute al comando CREATE DATABASE, dando
MODEL lugar a la creación de una nueva base de datos basado en un modelo predefinido
por SQL Server; este le añade páginas vacías que serán propias de la nueva base
de datos.
Es empleada por el servicio SQL Server Agent y por los servicios de integración
de SQL Server en la cual guarda información con respecto a las tareas de
MSDB automatización, historial de copias de seguridad, información de rastreo de
registros, tareas, alertas, cuentas proxy, planes de mantenimiento y registros de
mensajería de la base de datos.
Manual De Base De Datos Con SQL-Server 60

4.4. Estructura De Una Base De Datos

Una Base de Datos está compuesta por un conjunto de tablas o archivos.

En este caso vemos un modelo de entidad relación entre dos tablas: La tabla personafamiliar
contiene el registro de los familiares de los trabajadores los cuales tiene datos familiares
datosfamiliares y un tipo, en el tipo se almacena la relación que tiene el familiar con el personal
ejemplo (HERMANO, PADRE, TIO, etc.). Teniendo en cuenta que los familiares registrados son
los del personal.

Veamos los registros de la tabla personalfamiliar:

También vemos los registros de la tabla tipofamiliar:


Manual De Base De Datos Con SQL-Server 61

Y veamos los registros de la tabla datosfamiliares:

Las Bases de Datos, de acuerdo al ejemplo anterior, estas presentan entidades: tipofamiliar,
datosfamiliares, personalfamiliarn. Podemos entender que una tabla llega a ser una entidad y;
por lo tanto, toda entidad es cualquier cosa física o abstracta que se puede representar, en este caso
las tablas anteriores son físicas, pero podríamos implementar la tabla personal, que representaría
a los abstractos donde (se relacionaría con la tabla datosfamiliares).

Entonces llegamos a la siguiente conclusión:

TABLAS O ENTIDAD: tipofamiliar, datosfamiliares, personalfamiliarn.

En la tabla personalfamiliar:

Campo clave

Campos

registros

Datos
En la tabla datosfamiliar:

Campo foráneo
Manual De Base De Datos Con SQL-Server 62

CAMPOS: Representan a los atributos de una entidad, en este caso los campos pertenecientes a la
tabla personalfamiliar son: idPersonalFamiliar, apellidosynombres, sexo, fechanac, vive.

CAMPO CLAVE: Es el campo particular de una entidad que representa a un valor único dentro
de los registros y así serán reconocidos por las demás entidades, de la tabla personalfamiliar, su
campo clave es: idPersonalFamiliar.

CAMPO FORÁNEO: Es el campo que une a otra entidad formando una extensión de la tabla
fuente. En una entidad puede tener muchos campos claves, si consideramos que toda entidad tiene
un campo clave, el foráneo se enlazará justamente con este campo.

REGISTRO: Representa en conjunto de valores por cada campo de una misma fila. Esta
representa el conjunto de resultados que SQL Server espera devolver a los usuarios.

DATO: Es un valor único que no representa nada mientras no se una a otros datos. Por ejemplo de
la tabla personalfamiliar, en el registro de id 15 el dato es VIVANCO LUNA CLIMACO
ULISES.

4.5. Creación De Una Base De Datos

Tenemos que considerar que la creación de una Base de Datos es meramente la implementación de
un Script y no se representará de forma visual, es decir, se usará en todo momento Transact-SQL
para su implementación.

Una Base de Datos es SQL Server es una réplica de la base de datos MODEL, ya que esta base de
datos nos proporciona páginas vacías, es decir, que podemos crear archivos lógicos dentro de las
bases de datos para una implementación profesional.

Implementar la base de datos la Base de Datos LEGAJOS_CSJAN con valores por defectos.

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN: 1° FORMA

CREATE DATABASE LEGAJOS_CSJAN


GO

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN: 2° FORMA

IF DB_ID('LEGAJOS_CSJAN') IS NOT NULL


BEGIN
USE master
DROP DATABASE LEGAJOS_CSJAN
END
CREATE DATABASE LEGAJOS_CSJAN
GO
Manual De Base De Datos Con SQL-Server 63

COMANDO PARA VERIFICAR LA EXISTENCIA DE LA BASE DE DATOS LEGAJOS_CSJAN

SELECT * FROM SYS.SYSDATABASES

OTRA FORMA DE VERIFICAR LA EXISTENCIA DE LA BASE DE DATOS LEGAJOS_CSJAN

SELECT name,dbid,crdate,filename
FROM SYS.SYSDATABASES

COMANDO PARA VERIFICAR LA ESTRUCTURA DE LA BASE DE DATOS LEGAJOS_CSJAN

SP_HELPDB LEGAJOS_CSJAN

Implementar la base de datos LEGAJOS_CSJAN ubicado en la carpeta D:\Base_Datos


especificando un archivo primario con tamaño inicial de 15MB, un tamaño máximo de 30MB y
un crecimiento de 5MB, además el archivo de transacciones debe tener un tamaño inicial de 5MB
y como máximo 10MB a una tasa de crecimiento de 10%.

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN2

CREATE DATABASE AGENCIA2


ON PRIMARY(
NAME='LEGAJOS_CSJAN2_PRI',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN.MDF',
SIZE=15MB,
MAXSIZE=30MB,
FILEGROWTH=5MB
)
LOG ON(
NAME='LEGAJOS_CSJAN2_LOG',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN2.LDF',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=10%
)
Manual De Base De Datos Con SQL-Server 64

GO

COMANDO PARA VERIFICAR LA ESTRUCTURA DE LA BASE DE DATOS LEGAJOS_CSJAN2

SP_HELPDB LEGAJOS_CSJAN2

Implementar la base de datos LEGAJOS_CSJAN3 ubicado en la carpeta D:\Base_Datos\ con la


siguiente configuración:

 ARCHIVO DE DATOS: Un tamaño inicial de 10MB, máximo de 40MB y un factor de


crecimiento de 5MB.
 ARCHIVO SECUNDARIO: Un tamaño inicial de 5MB, máximo de 30MB y un factor de
crecimiento de 5%.
 ARCHIVO DE TRANSACCIONES: Un tamaño inicial de 4MB, máximo de 20MB y un factor
de crecimiento de 10%.

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN3

CREATE DATABASE LEGAJOS_CSJAN3


ON PRIMARY (
NAME='LEGAJOS_CSJAN3_PRI',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN3.MDF',
SIZE=10MB,
MAXSIZE=40MB,
FILEGROWTH=5MB
),
(
NAME='LEGAJOS_CSJAN3_SEC',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN3.NDF',
SIZE=5MB,
MAXSIZE=30MB,
FILEGROWTH=5%
)
LOG ON (
NAME='LEGAJOS_CSJAN3_LOG',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN3.LDF',
SIZE=4MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
GO

COMANDO PARA VERIFICAR LA ESTRUCTURA DE LA BASE DE DATOS LEGAJOS_CSJAN3

SP_HELPDB LEGAJOS_CSJAN3
Manual De Base De Datos Con SQL-Server 65

Implementar la base de datos LEGAJOS_CSJAN4 ubicado en la carpeta D:\Base_Datos\ con la


siguiente configuración:

 ARCHIVO DE DATOS: Un tamaño inicial de 10MB, máximo de 40MB y un factor de


crecimiento de 5MB.
 ARCHIVO SECUNDARIO1: Un tamaño inicial de 5MB, máximo de 30MB y un factor de
crecimiento de 5%.
 ARCHIVO SECUNDARIO2: Un tamaño inicial de 2MB, máximo de 15MB y un factor de
crecimiento de 2%.
 ARCHIVO DE TRANSACCIONES: Un tamaño inicial de 4MB, máximo de 20MB y un factor
de crecimiento de 10%.

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN4

CREATE DATABASE LEGAJOS_CSJAN4


ON PRIMARY (
NAME='LEGAJOS_CSJAN4_PRI',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN4.MDF',
SIZE=10MB,
MAXSIZE=40MB,
FILEGROWTH=5MB
),
(
NAME='LEGAJOS_CSJAN4_SEC1',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN41.NDF',
SIZE=5MB,
MAXSIZE=30MB,
FILEGROWTH=5%
),
(
NAME='LEGAJOS_CSJAN4_SEC2',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN42.NDF',
SIZE=2MB,
MAXSIZE=15MB,
FILEGROWTH=2%
)
LOG ON (
NAME='LEGAJOS_CSJAN4_LOG',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN4.LDF',
SIZE=4MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
Manual De Base De Datos Con SQL-Server 66

GO

COMANDO PARA VERIFICAR LA ESTRUCTURA DE LA BASE DE DATOS LEGAJOS_CSJAN4

SP_HELPDB LEGAJOS_CSJAN4

Implementar una consulta que permita separar la base de datos LEGAJOS_CSJAN5 ubicado en
la carpeta D:\Base_Datos\ con las siguientes características:

 ARCHIVO DE DATOS: Un tamaño inicial de 10MB, máximo de 90MB y un factor de


crecimiento de 5MB.
 ARCHIVO SECUNDARIO: Un tamaño inicial de 5MB, máximo de 50MB y un factor de
crecimiento de 5%.
 ARCHIVO DE TRANSACCIONES: Un tamaño inicial de 5MB, máximo de 50MB y un factor
de crecimiento de 10%.

CREANDO LA BASE DE DATOS LEGAJOS_CSJAN5

CREATE DATABASE LEGAJOS_CSJAN5


ON PRIMARY (
NAME='LEGAJOS_CSJAN5_PRI',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN5.MDF',
SIZE=10MB,
MAXSIZE=90MB,
FILEGROWTH=5MB
),
(
NAME='LEGAJOS_CSJAN5_SEC',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN5.NDF',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=5%
)
LOG ON (
NAME='LEGAJOS_CSJAN5_LOG',
FILENAME='D:\Base_Datos\LEGAJOS_CSJAN5.LDF',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
GO

COMANDO PARA VERIFICAR LA ESTRUCTURA DE LA BASE DE DATOS LEGAJOS_CSJAN5

SP_HELPDB LEGAJOS_CSJAN5
Manual De Base De Datos Con SQL-Server 67

4.6. Caso Práctico: Gestión De Legajos

hdbhcdh

4.7. Adjuntar Y Separa Una Base De Datos

Ahora veremos cuatro maneras de crear un backup de una base de datos en SQL SERVER:

1° FORMA: La primera forma de generar una copia de seguridad de la base de datos es copiando
los archivos con el nombre de la base de datos con extensión .mdf y LDF, en nuestro caso
LEGAJOS_CSJAN.mdf y LEGAJOS_CSJAN_log.LDF, los mismos que se encuentran en la
siguiente dirección:

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

Como podemos ver no nos permite realizar la copia de la base de datos LEGAJOS_CSJAN,
mostrando el siguiente mensaje.

Esto es debido a que la base de datos LEGAJOS_CSJAN está siendo usada, para esto debemos ir
al panel de control > herramientas administrativas > servicios, o simplemente ejecutar Inicio + R
y escribir services.msn, como se muestra a continuación:
Manual De Base De Datos Con SQL-Server 68

Ahora bien lo que haremos es detener el servicio SQL SERVER, ubicaremos el servicio de nombre
SQL Server (MSSQLSERVER).

Luego podremos copiar los archivos de la base de datos LEGAJOS_CSJAN, y poder usarla en
otras máquinas, con servicio local SQL Server.

Para restaurar la base de datos LEGAJOS_CSJAN, copiamos los archivos de la base de datos que
queremos restaurar en la siguiente dirección:

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

Ahora bien, iremos a la herramienta SQL SERVER y realizaremos lo siguiente.


Manual De Base De Datos Con SQL-Server 69

Como podemos ver la base de datos LEGAJOS_CSJAN se encuentra lista para ser usada.

2° FORMA: La segunda forma de generar una copia de seguridad de una base de datos cualquiera
en SQL Server es la siguiente:

En nuestro caso trabajaremos con la base de datos LEGAJOS_CSJAN.

Ahora bien lo que haremos es cerrar el servicio solo de la base de datos que queremos salvar, para
esto escribimos el siguiente comando SQL:

COPIA DE SEGURIDAD DE LA BASE DE DATOS LEGAJOS_CSJAN

-- USAMOS LA BASE DE DATOS MASTER

USE master
GO

-- COMANDO PARA SEPARA LA BASE DE DATOS LEGAJOS_CSJAN

SP_DETACH_DB 'LEGAJOS_CSJAN'
GO

Luego para restaurar la base de datos que queremos copiar en nuestro caso LEGAJOS_CSJAN, lo
que haremos es copiar a la siguiente dirección:

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

Para restaurar la base de datos desde el SQL Server ejecutaremos los mismos pasos del método
anterior de restauración o en su defecto levantar el servicio de la base de datos con el siguiente
comando:
Manual De Base De Datos Con SQL-Server 70

RESTAURANDO LA BASE DE DATOS LEGAJOS_CSJAN

-- USAMOS LA BASE DE DATOS MASTER

USE master
GO

-- COMANDO DE RESTAURACION

SP_ATTACH_DB 'LEGAJOS_CSJAN','C:\Program Files\Microsoft SQL


Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\LEGAJOS_CSJAN.mdf'
GO

3° FORMA: Para obtener un backup de la base de datos es generando un archivo de tipo .bak, de
la siguiente forma, así mismo el backup generado tendrá la siguiente dirección:

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup

Para restaurar el backup creado lo que haremos es ir a la siguiente opción y listo:


Manual De Base De Datos Con SQL-Server 71

4° FORMA: La otra forma de generar un backup es a nivel script:


Manual De Base De Datos Con SQL-Server 72

Luego pasaremos a restaurar la base de datos LEGAJOS_CSJAN seleccionando el archivo donde


se encuentra el script de la base de datos la misma que lo abriremos desde SQL Server y pasaremos
a ejecutar el script.
Manual De Base De Datos Con SQL-Server 73

4.8. Esquemas En SQL Server

4.9. Tipo De Datos En SQL Server

En SQL Server, cada columna, variable local, expresión y parámetro tiene un tipo de datos
relacionado. Un tipo de datos es un atributo que especifica el tipo de datos que el objeto puede
contener: datos de enteros, datos de caracteres, datos de moneda, datos de fecha y hora, cadenas
binarias, etc.

SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de
datos que pueden utilizarse con SQL Server. También puede definir sus propios tipos de datos en
Transact-SQL o Microsoft .NET Framework. Los tipos de datos de alias están basados en los tipos
de datos proporcionados por el sistema. Los tipos definidos por el usuario obtienen sus
características de los métodos y los operadores de una clase que se crean mediante uno de los
lenguajes de programación compatibles con .NET Framework.

Cuando dos expresiones que tienen tipos de datos, intercalaciones, precisión, escala o longitud
diferentes son combinadas por un operador, las características del resultado vienen determinadas
por lo siguiente:

 El tipo de datos del resultado viene determinado por la aplicación de las reglas de
precedencia de tipos de datos a los tipos de datos de las expresiones de entrada.
 La intercalación del resultado viene determinada por las reglas de precedencia de
intercalación cuando el tipo de datos del resultado es char, varchar, text, nchar, nvarchar o
ntext.
 La precisión, escala y longitud del resultado dependen de la precisión, escala y longitud de
las expresiones de entrada.

GRUPO TIPO DE INTERVALO ALMACENAMIENTO


DATO
Numéricos bigint De -263(-9.223.372.036.854.775.808) a 263 - 1 8 bytes
exactos (9.223.372.036.854.775.807)
int De -231 (-2.147.483.648) a 231 - 1 4 bytes
(2.147.483.647)
smallint De -215 (-32.768) a 215 - 1 (32.767) 2 bytes
tinyint De 0 a 255 1 byte
Manual De Base De Datos Con SQL-Server 74

bit Tipo de datos entero que puede aceptar los 2 bytes


valores 1, 0 ó NULL
decimal,  p (precisión): el número total máximo de Precisión 1 - 9: 5 bytes
numeric, dígitos decimales que se puede almacenar,
decimal tanto a la izquierda como a la derecha del
(p, s) separador decimal. La precisión debe ser un
valor comprendido entre 1 y la precisión
máxima de 38. La precisión predeterminada
es 18.
 s (escala): el número máximo de dígitos
decimales que se puede almacenar a la
derecha del separador decimal. La escala
debe ser un valor comprendido entre 0 y p.
Sólo es posible especificar la escala si se ha
especificado la precisión. La escala
predeterminada es 0.

Con precisión máxima 1038 +1 y 1038 - 1


money Tipos de datos que representan valores 8 bytes
monetarios o de moneda: de -
922.337.203.685,4775808 a
922.337.203.685,4775807
smallmone De - 214,7483648 a 214,7483647 4 bytes
y
Numéricos float De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 Depende del valor de n
aproximados a 1,79E+308
real De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 4 Bytes
a 3,40E + 38
Fecha y hora datetime Del 1 de enero de 1753 hasta el 31 de diciembre
de 9999
smalldateti Del 1 de enero de 1900 hasta el 6 de junio de
me 2079
Cadenas de char (n) Caracteres no Unicode de longitud fija, con una n bytes
caracteres longitud de n bytes. n debe ser un valor entre 1 y
8.000
varchar (n) Caracteres no Unicode de longitud n bytes (aprox.)
variable. n indica que el tamaño de
almacenamiento máximo es de 231- 1 bytes
text En desuso, sustituido por varchar. max bytes (aprox.)

Datos no Unicode de longitud variable con una


longitud máxima de 231 - 1 (2.147.483.647)
caracteres
Cadenas de nchar (n) Datos de carácter Unicode de longitud fija, 2 * n bytes
caracteres con n caracteres. n debe estar comprendido entre
unicode 1 y 4.000
Manual De Base De Datos Con SQL-Server 75

nvarchar Datos de carácter Unicode de longitud 2 * n bytes + 2 bytes


(n) variable. n indica que el tamaño máximo de
almacenamiento es 231 - 1 bytes
ntext (n) En desuso, sustituido por nvarchar. 2 * n bytes

Datos Unicode de longitud variable con una


longitud máxima de 230 - 1 (1.073.741.823)
caracteres
Cadenas binary (n) Datos binarios de longitud fija con una longitud n bytes
binarias de n bytes, donde n es un valor que oscila entre
1 y 8.000
varbinary Datos binarios de longitud variable. n indica que n bytes
(n) el tamaño de almacenamiento máximo es de 231-
1 bytes
image En desuso, sustituido por varbinary.

Datos binarios de longitud variable desde 0 hasta


231 - 1 (2.147.483.647) bytes
Otros tipos cursor Tipo de datos para las variables o para los
de datos parámetros de resultado de los procedimientos
almacenados que contiene una referencia a un
cursor. Las variables creadas con el tipo de
datos cursor aceptan NULL
timestamp Tipo de datos que expone números binarios 8 bytes
únicos generados automáticamente en una base
de datos. El tipo de datos timestamp es
simplemente un número que se incrementa y no
conserva una fecha o una hora
sql_variant Tipo de datos que almacena valores de varios
tipos de datos aceptados en SQL Server,
excepto text, ntext, image, timestamp y sql_varia
nt
uniqueiden Es un GUID (Globally Unique Identifier, 16 bytes
tifier Identificador Único Global)
table Es un tipo de datos especial que se puede utilizar
para almacenar un conjunto de resultados para
su procesamiento posterior. table se utiliza
principalmente para el almacenamiento temporal
de un conjunto de filas devuelto como el
conjunto de resultados de una función con
valores de tabla
xml Almacena datos de XML. Puede almacenar
instancias de xml en una columna o una variable
de tipo xml
Manual De Base De Datos Con SQL-Server 76

4.10. Tipo De Datos Definidos Por El Usuario

SQL, brinda una serie de datos para almacenar la información, la correcta selección del tipo de
dato implica un determinado valor; por ejemplo: carácter, entero, binario, fecha, etc., así mismo
algunas veces necesitamos algún tipo de dato en especial, como el caso del DNI que cuenta con 8
caracteres de tipo CHAR o el número de celular de 9 caracteres.

Para esto pasaremos a definir la sintaxis para crear nuestro propio tipo de dato.

Sintaxis de creación:

CREANDO UN TIPO DEFINIDO


SP_ADDTYPE
SP_ADDTYPE NOMBRE TIPO, 'TIPO_DATOS','RESTRICCION'
GO

Ahora gbien, si en caso se desea eliminar un tipo de dato creado por el usuario, se debe seguir la
siguiente sintaxis, teniendo en cuenta que para eliminar un tipo de dato, este no debe tener objetos
asociados.

Sintaxis de eliminación de tipo de dato:

ELIMINACIÓND E UN TIPO DEFINIDO


SP_DROPTYPE
SP_DROPTYPE 'NOMBRE_TIPO'
GO

4.11. Propiedades De Los Atributos

El paso previo que falta para la creación de una tabla dentro de la Base de Datos activa, es definir
dos propiedades comunes entre los campos de una tabla, propiedad:

 NULL
 IDENTITY
La propiedad NULL es la más común entre las asignaciones que se puede realizar al momento de
crear una tabla. Se ven dos formas de expresarla NULL y NOT NULL. Cuando señalamos como
Manual De Base De Datos Con SQL-Server 77

NULL estamos indicando que el contenido de dicha columna no es obligatorio; por lo tanto, acepta
y devuelve valores nulos. Si se necesita especificar lo contrario, es decir, que sea obligatorio
registrar un valor dentro de la columna, entonces tendrá que especificar NOT NULL. Como en el
siguiente caso:

La propiedad IDENTITY sólo se aplica a tipos numéricos (INT) ya que define un autoincremento
de valores que se pueden representar una numeración de valores en forma automática por cada
registro dentro de una tabla. Por ejemplo: de la tabla anterior asistencia, podríamos modificar la
restricción de la clave primaria idasistencia, teniendo en cuenta que posee un tipo de dato numérico
INT¸ para que cuando se realice el registro, la numeración se autogenere, como el siguiente caso:

El Script anterior se crea la tabla asistencia con la columna idasistencia de tipo entero con un
autoincremento de inicio 1 con salto de 1 (la numeracion será sucesiva: 1,2,3…, ya que el salto es
1. Si hubiese sido idasistencia INT IDENTITY (1,2), la numeración sería 1,3,5…).

4.12. El Objeto Tabla

Son objetos compuestos por una estructura (columnas) que almacenan información en forma lógica
e interrelacionada entre ellos formando filas acerca del objeto en general.
Manual De Base De Datos Con SQL-Server 78

Si nos enfocamos en el mundo real, las tablas vendrían a ser las tablas son representaciones de
entidades. Siendo así las columnas especificadas en ella, serán las características de una entidad y
los valores ingresados serán los datos que podrían representar un hecho real.

La tabla pasajera representa a los familiares de una persona del mundo real, los cuales poseen una
clave primaria idPersonaFamiliar, apellidos y nombres apellidoynombre, sexo sexo, fecha de
nacimiento fechnac y una condición de si aún vive o no vive, desde aquí tenemos que definir las
capacidades de cada columna ya que eso derivará como será el ingreso de los valores a dichas
columnas

Todas las tablas tienen un campo especial llamado llave, que será aquel único valor que represente
a toda la tabla frente a las demás tablas y así logrará asociarse a las mismas

4.13. Manejo de tablas con Esquemas

ncnsjncjdbc

4.14. Restricciones De Tipo: Unique, Check, Default

 UNIQUE: Determina que los valores registrados en una misma columna no sean idénticos,
es decir, se mantengan únicos. La restricción de UNIQUE permite controlar cualquier otro
campo que no sea llave. Así mismo tener en cuenta que la columna definida como UNIQUE
acepta a lo más un valor NULL mientras que una columna restringida con PRIMARY KEY
no permite dicha acción.
Manual De Base De Datos Con SQL-Server 79

Implementar una consulta que permita añadir la restricción UNIQUE a la columna


NOMDEPART, es decir solo permita registrar nombre de los departamentos sin repetirse.

CREANDO LA RESTRICCION UNIQUE PARA LA TABLA DEPARTAMENTO

-- USAREMOS LA BASE DE DATOS LEGAJOS_CSJAN5


USE LEGAJOS_CSJAN5
GO

-- CREAMOS LA TABLA DEPARTAMENTO


CREATE TABLE Departamento(
idDepartamento VARCHAR(45) NOT NULL,
nomdepart VARCHAR(100) NOT NULL
)
GO

-- AGREGAMOS LA LLAVE PRIMARIA A LA TABLA DEPARTAMENTO


ALTER TABLE DBO.Departamento
ADD PRIMARY KEY NONCLUSTERED (idDepartamento)
GO

1° FORMA DE CREAR LA RESTRICCIÓN UNIQUE

-- PRIMERA FORMA DE USAR UNIQUE

ALTER TABLE DBO.Departamento


ADD CONSTRAINT nom_depart UNIQUE (nomdepart)
GO

2° FORMA DE CREAR LA RESTRICCIÓN UNIQUE

-- SEGUNDA FORMA

CREATE TABLE Departamento(


idDepartamento VARCHAR(45) NOT NULL,
nomdepart VARCHAR(100) UNIQUE
)
GO

INSERTANDO DATOS A LA TABLA DEPARTAMENTO


INSERT INTO dbo.Departamento VALUES ('01','AMAZONAS')
INSERT INTO dbo.Departamento VALUES ('02','AMAZONAS')

 CHECK: Permite restringir el rango de valores que pueden estar permitidos ingresar en una o
más columnas de una tabla.
Manual De Base De Datos Con SQL-Server 80

Implementar una consulta que permita añadir la restricción a la columna FECHA de la tabla
MERITOS en donde solo permitirá registrar fechas de resoluciones menores o iguales al día
actual.
CREANDO LA RESTRICCION CHECK A LA TABLA MERITOS

-- USAREMOS LA BASE DE DATOS LEGAJOS_CSJAN5


USE LEGAJOS_CSJAN5
GO

-- VERIFICANDO LAS COLUMNAS DE LA TABLA MERITO

SP_COLUMNS Meritos

-- CREANDO LA RESTRICCION CHECK

ALTER TABLE DBO.MERITOS


ADD CONSTRAINT CHK_FECHA CHECK(fecharesol<=GETDATE())

 DEFAULT: Permite personalizar dichas restricciones a cualquier columna de una tabla que
no tenga como restricción NOT NULL.
Implementar una consulta que permita añadir la restricción a la columna FECHACONTROL
de la tabla MERITOS en donde si el usuario no registra la fecha se inserte la fecha actual por
defecto.
CREANDO LA RESTRICCION DEFAULT A LA TABLA MERITOS

-- USAREMOS LA BASE DE DATOS LEGAJOS_CSJAN5


USE LEGAJOS_CSJAN5
GO

-- VERIFICANDO LAS COLUMNAS DE LA TABLA MERITO

SP_COLUMNS Meritos

-- CREANDO LA RESTRICCION CHECK

ALTER TABLE DBO.MERITOS


ADD CONSTRAINT FECHA_DEF DEFAULT GETDATE() FOR fechacontrol

INSERTANDO DATOS A LA TABLA MERITOS

-- INSERTANDO DATOS A LA TABLA MERITOS

insert into Meritos


(idmeritos,motivo,fecharesol,descrip,fechacontrol,documento)
values
(1,’MOTIVO1’,’2017-02-16’,’DESCRIPCION1’,DEFAULT,’DOC1’)

insert into Meritos


(idmeritos,motivo,fecharesol,descrip,fechacontrol,documento)
values
(2,’MOTIVO2’,’2017-02-16’,’DESCRIPCION2’,DEFAULT,’DOC2’)
Manual De Base De Datos Con SQL-Server 81

4.15. Generación De Esquemas, Caso Propuesto: Gestión De Legajos

Rrr
Manual De Base De Datos Con SQL-Server 82

Capítulo 5: Lenguaje de Manipulación de Datos (LMD)

Capítulo

5
Lenguaje de
Manipulación de Datos
(LMD)
CAPACIDAD CONTENIDO

 Definiciones Previas
 Comando INSERT INTO
 Comando UPDATE
DDDD  Comando DELETE
 Formas de uso del comando SELECT
 Operadores en SQL Server
 Comandos de tipo JOIN
Manual De Base De Datos Con SQL-Server 83

5.1. Definiciones Previas

HHBJHB

5.2. Comando INSERT INTO

5.3. Comando UPDATE

5.4. Comando DELETE

5.5. Formas de uso del comando SELECT

5.6. Operadores en SQL Server

5.7. Comandos de tipo JOIN


Manual De Base De Datos Con SQL-Server 84

Capítulo 6: Transact SQL

Capítulo

6
Transact SQL
CAPACIDAD CONTENIDO

 Definiciones previas.
 Funciones CAST y CONVERT
 Estructuras de Control Selectivas
 Estructuras de Control Repetitivas
 Manejo de errores en Transact SQL
 Manejo de Cursores
DDDD
 Funciones
 Manejo de Procedimientos Almacenados
 Comando EXECUTE
 Procedimientos Almacenados definidas por el usuario
 Procedimiento almacenados y Cursores
 Manejo de Transacciones
 Manejo de TRIGGERS
Manual De Base De Datos Con SQL-Server 85

6.1. Definiciones previas.

6.2. Funciones CAST y CONVERT

6.3. Estructuras de Control Selectivas

6.4. Estructuras de Control Repetitivas

6.5. Manejo de errores en Transac SQL

6.6. Manejo de Cursores

6.7. Funciones

6.8. Manejo de Procedimientos Almacenados

6.9. Comando EXECUTE


Manual De Base De Datos Con SQL-Server 86

6.10. Procedimientos Almacenados definidas por el usuario

6.11. Procedimiento almacenados y Cursores

6.12. Manejo de Transacciones

6.13. Manejo de TRIGGERS


Manual De Base De Datos Con SQL-Server 87

Capítulo 7: Ejercicios Propuestos

Capítulo

7
Ejercicios
Propuestos
CAPACIDAD CONTENIDO

DDDD DDDD
Manual De Base De Datos Con SQL-Server 88

hjvjh
REFERENCIAS BIBLIOGRÁFICAS
Manual De Base De Datos Con SQL-Server 89

Vous aimerez peut-être aussi