SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
BASES DE DATOS DISTRIBUIDAS CON SQL SERVER 2012 
(2014) Antonio Ortiz Ramírez 
www.aortiz.net 
www.qsoluciones.net
www.qsoluciones.net 
2 
Dirigido a: Programadores, Analistas de Sistemas, Administradores de Sistemas, Estudiantes y Profesores que deseen aprender a diseñar e implementar un modelo de base de datos distribuida. 
Deseable: Conocimientos de bases de datos, SQL. 
Requisitos: Haber cursado alguna carrera relacionada a la informática o tener experiencia en bases de datos. 
Duración: 50 hrs.
3 
www.qsoluciones.net 
CONTENIDO: 
I. Introducción al modelo relacional 
De Sequel a SQL Server 
Bases de Datos Relacionales 
Manejadores de Bases de Datos Relacionales 
SQL 
Arquitectura Cliente-Servidor 
II. Instalación y Configuración de SQL Server 
Instalación Manual 
Configuración de Instancias 
Administrador de Configuración (Configuration Manager) 
III. Administración de SQL Server 
SQL Server Management Studio 
Separar y Adjuntar bases de datos 
Respaldos 
Compactar 
Importar Datos 
IV. Diseño de Bases de Datos 
Diseño Conceptual 
Diseño Lógico 
Diseño Físico 
Modelo relacional 
Modelos E-R 
Normalización
www.qsoluciones.net 
4 
V. Arquitectura de SQL Server 
Archivos de datos 
Archivo de transacciones 
Grupos de archivos 
Páginas de Datos 
Índices Clustered 
Índices Non clustered 
VI. Transact SQL 
Diagramas 
DDL 
Consultas 
SubConsultas 
VII. Vistas 
Vistas 
Vistas Indexadas 
VIII Bases de Datos Distribuidas 
Descripción 
Características de una base de datos distribuidas 
Ventajas 
Desventajas 
Creando un modelo de base de datos distribuidas 
IX. Consultas Distribuidas 
Servidores vinculados 
Consultas distribuidas
5 
www.qsoluciones.net 
Transacciones Distribuidas 
X. Procedimientos Almacenados (Stored Procedures) y Funciones 
Procedimientos del Sistema 
Procedimientos del Usuario 
Funciones del Sistema 
Funciones del Usuario 
SQL Dinámico vs Procedimientos Almacenados 
XI. Desencadenadores (Triggers) 
XII. Replicación 
Publicador 
Suscriptor 
Réplica de instantáneas 
Réplica transaccional 
Replicación de Mezcla
www.qsoluciones.net 
6 
I. INTRODUCCIÓN AL MODELO RELACIONAL 
Objetivo de este capítulo: En este capítulo se hace un repaso, de la historia de Sequel a SQL Server, de los conceptos básicos del modelo relacional, en específico de temas como bases de datos relacionales, tablas, llave primaria y secundaria, relaciones, manejador de base de datos, SQL, arquitectura cliente-servidor, normalización. 
Duración aproximada: 5 horas 
De Sequel a SQL Server: Sequel (Structured English Query Language ) es el primer lenguaje para acceso a datos relacionales, creado por IBM en la década de 1970, el cual pasaría a ser el antecesor del estándar SQL. 
Microsoft SQL Server, la implementación del manejador de base de datos reconoce los orígenes del lenguaje estándar de consulta y por esto adopta la pronunciación ‘sequel’ para el producto de Microsoft. La implementación (variante o dialecto) de SQL incluida en Microsoft SQL Server es llamada Transact SQL.
7 
www.qsoluciones.net 
Bases de Datos Relacionales: Son bases de datos cuyo diseño está basado en el modelo relacional, las cuales contienen Tablas que representan ‘entidades’ y relaciones entre estas tablas. 
Modelo relacional 
El modelo relacional permite representar datos de manera fácil y está basado en la teoría de conjuntos y lógica de predicados. 
El modelo relacional permite realizar el modelo conceptual de una base de datos. Así, una base de datos relacional se compone de un conjunto de tablas que se relacionan entre sí por un campo en común. 
Algunas características del modelo relacional: 
 Los nombres de tablas deben ser en singular 
 Los nombres tablas son únicos 
 Cada tabla es un conjunto de filas (registros) y columnas (campos) 
 Las tablas se relacionan por medio de las llaves primarias y foráneas 
 La Llave primaria es un valor único que define a los demás atributos (columnas) de la tabla 
*Clave Nombre Telefono Ciudad 1 Juan Lopez (55) 1234-5678 Mexico, DF 
2 
Pedro Zapata 
(33) 2345-6789 
Guadalajara 3 Luis Rodriguez (81) 9876-5432 Monterrey 
Tabla: Persona 
Columna 
(Campo) 
Fila 
(Registro) 
Compra 
Producto 
Cliente 
1 
* 
1:N
www.qsoluciones.net 
8 
Manejadores de Bases de Datos Relacionales: Los ‘Sistemas Manejadores de Bases de Datos’ o DBMS por sus siglas en inglés; permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Entre los manejadores más populares están Microsoft SQL Server, Oracle, DB2, MySQL, Interbase, etc. 
SQL: el lenguaje estructurado de consulta (Structured Query Language) permite que las aplicaciones realicen consultas, actualizaciones y eliminación a los datos de una base de datos relacional mediante sentencias definidas por este lenguaje estandarizado. SQL contiene 2 grupos principales de sentencias que se agrupan en: 
DDL (Data Definition Language) por medio de la cual se puede crear o modificar la estructura de los datos (tablas, índices, relaciones); ejemplos de estos en Transact SQL son: CREATE, ALTER, DROP y TRUNCATE. 
DML (Data Manipulation Language) o Lenguaje de manipulación de datos, que permite consultar, insertar, eliminar o actualizar los datos. Los más conocidos son: SELECT, INSERT, DELETE, UPDATE
9 
www.qsoluciones.net 
Arquitectura Cliente-Servidor: Es un modelo de aplicación donde las tareas se dividen entre la aplicación Cliente que consume los servicios y recursos del Servidor. Ejemplo de este tipo de arquitectura son los servidores FTP y clientes FTP, Servidores Web y navegadores. La separación del cliente y servidor es de tipo lógica, lo cual implica que ambos pueden estar contenidos en el mismo hardware o en equipos separados, incluso cada uno de ellos puede estar instalado en un clúster o grupo de computadoras.
www.qsoluciones.net 
10 
II. INSTALACIÓN Y CONFIGURACIÓN DE SQL SERVER 
Instalación Manual: Para esta instalación se utilizara el paquete de instalación de SQL Server 2012 express el cual está disponible de manera gratuita desde el sitio oficial de Microsoft. 
http://msdn.microsoft.com/es-mx/evalcenter/hh230763.aspx 
De clic al botón “Empiece hoy mismo y en la siguiente pantalla seleccione la edición que requiera: https://www.microsoft.com/betaexperience/pd/SQL2012EvalNOCTA/esxl/ 
Voy a utilizar la edición de 64 bits, que además ya incluye la herramienta “Management Studio” (edición With Tools, distintivo de la terminación WT en el nombre del archivo) , doy doble clic al ejecutable y espero a que aparezca la siguiente pantalla:
11 
www.qsoluciones.net 
Hacemos clic en la opción “New SQL Server stand-alone installation”, enseguida aparece la pantalla con los términos de licencia, a lo cual aceptamos y hacemos clic en el botón Siguiente (Next). 
En esta ocasión me indica que ya existen actualizaciones para el producto se instalaran automáticamente (SP1).
www.qsoluciones.net 
12 
Aceptamos y continuamos haciendo clic en el botón Siguiente (Next).
13 
www.qsoluciones.net 
En esta pantalla aceptamos las características por defecto y continuamos. En la siguiente pantalla seleccionamos cambiar el nombre de instancia, en este ejemplo utilizo: SQL2012.
www.qsoluciones.net 
14 
En la sección inferior de la pantalla me indica que ya se encuentra una instancia instalada, llamada SQL2008, verificamos que todo está bien y damos clic a Siguiente.
15 
www.qsoluciones.net 
En esta pantalla se configura las cuentas que utilizan los servicios a instalar, dejamos la configuración por defecto y hacemos clic en Siguiente.
www.qsoluciones.net 
16 
Aquí seleccionamos el tipo de seguridad a utilizar para SQL Server, en esta ocasión utilizo Autenticacion Mixta (o de SQL Server) por no encontrarme en una red con dominio, administrada por Windows Server, en caso de administrar acceso y privilegios con Windows Server, sería aconsejable usar el modo de Autenticación Windows.
17 
www.qsoluciones.net 
La siguiente pantalla que aparece permite indicar si desea enviar un reporte sobre la instalación a Microsoft. Seleccione la opción deseada y de clic en Siguiente.
www.qsoluciones.net 
18 
Si todo finaliza correctamente, la pantalla final sería esta:
19 
www.qsoluciones.net 
Administrador de Configuración (SQL Server Configuration Manager) 
Despues de haber instalado SQL Server, vamos al menú de inicio, en la carpeta Microsoft SQL Server 2012, abrimos la subcarpeta Configuration Tools y hacemos clic en SQL Server Configuration Manager. 
Abrimos la opción SQL Server Network Configuration y hacemos doble clic en TCP/IP
www.qsoluciones.net 
20 
En esta ventana revisamos que se encuentre seleccionado Sí para la opción Activo, de esta manera comprobamos que el protocolo TCP/IP se encuentra disponible para comunicarnos con esta Instancia de SQL Server.
21 
www.qsoluciones.net 
Hacemos clic en la pestaña Direcciones IP (IP Addresses)
www.qsoluciones.net 
22 
Aquí se configura el puerto a utilizar por esta instancia, recomendamos por ahora usar el puerto estándar de SQL Server que es el 1433. 
Para ello, revisamos cada sección donde encontremos TCP Dynamics Ports y eliminamos el 0, enseguida colocamos el valor del puerto hasta el final en IP ALL, opción TCP Port. Después de aceptar, deberemos reiniciar el servicio para que escuche en el puerto seleccionado. 
¿Porque definir un puerto fijo en lugar de dinámico? Cada vez que inicia el servicio podría obtener el primer puerto disponible en el equipo, el cual es muy probable que sea diferente y podríamos tener problemas de conexión desde las aplicaciones cliente. 
NOTA: Si ya se encuentra una instancia funcionando con este puerto, la instancia de SQL 2012 que instalamos recientemente no podrá iniciar y deberemos cambiar el puerto.
23 
www.qsoluciones.net 
III. ADMINISTRACIÓN DE SQL SERVER 
SQL Server Management Studio. Mediante la herramienta Management Studio es posible visualizar, crear y modificar los objetos contenidos en una instancia de SQL Server; mediante su interfaz gráfica facilita las tareas que normalmente requieren de escribir código DDL o DML 
En la carpeta de SQL Server 2012 del menú de inicio podemos abrir SQL Server Management Studio, a partir de la cual aparece la siguiente ventana: 
Indique el nombre de instancia a la cual desea conectarse, a continuación seleccione el tipo de autenticación Windows si eligió esta durante la instalación o se encuentra en el equipo que contiene la instancia de SQL Server; seleccione autenticación SQL Server si eligió esta durante la instalación.
www.qsoluciones.net 
24 
Crear una base de datos 
Hacemos clic en el botón Nueva consulta (New Query) y en la ventana de edición que aparece tecleamos lo siguiente: 
CREATE DATABASE EjemploBD 
Hacemos clic en el botón Ejecutar ( Execute ). A continuación indicamos que deseamos poner en uso la nueva base de datos EjemploBD. Para eso tecleamos la siguiente sentencia: 
USE EjemploBD 
* NOTA: Para ejecutar solo este comando y no el anterior, podemos escribir en un renglón debajo de la sentencia anterior, enseguida seleccionar la línea que contiene la sentencia USE EjemploBD y hacer clic al botón Ejecutar. O si lo prefieres podrias eliminar el contenido de la ventana y enseguida teclear la nueva sentencia.
25 
www.qsoluciones.net 
Crear Tablas 
CREATE TABLE Persona(ID int IDENTITY PRIMARY KEY, Nombre varchar(50), Edad int DEFAULT 0, Peso float DEFAULT 0) 
En el árbol de la izquierda deberá aparecer la tabla Persona, dentro del objeto EjemploBD, Tables. En caso de no aparecer podrá refrescar la vista haciendo clic con botón derecho en Tables y luego en Actualizar (Refresh). 
Si hacemos clic con botón derecho en la tabla Persona y enseguida en Diseño (Design) veremos la tabla, las columnas y tipos de datos de cada una. 
Crear índices 
Ahora creamos un índice para el nombre de la persona 
Create Index ind_Persona_Nombre ON Persona(Nombre)
www.qsoluciones.net 
26 
Aquí observamos que la columna ID es de tipo Identity, con un valor inicial de 1 y un incremento de 1, esto asegura que sea un valor único incremental, por otro lado se agregó la propiedad de Llave primaria y por defecto se creó el índice como Clustered; esto lo podemos confirmar en la ventana de índices.
27 
www.qsoluciones.net 
Sólo podemos tener un índice clustered por tabla; y esto es debido a que la propiedad clustered determina el orden físico de los registros dentro de las páginas de datos, permitiendo que los datos sean ordenados e indexados mientras son almacenados tomando en cuenta esta columna (o columnas). 
El índice clustered es por su naturaleza el más rápido, ya que una vez encontrado el dato a través de ese índice, se pueden obtener todas las demás columnas sin hacer un salto a los datos. En cualquier otro tipo de índice, se crea un objeto en la base de datos que contiene una estructura para la columna indexada y por cada registro en el índice existe un apuntador a la ubicación física de los datos del registro.
www.qsoluciones.net 
28 
Separar y Adjuntar bases de datos 
El proceso de Conectar o indicar a SQL Server que use y ponga activa una base de datos para los usuarios se le llama ‘Adjuntar’; el proceso contrario se conoce como ‘desconectar’ o separar una base de datos, de tal manera que SQL Server deje de administrarla e imposibilite cualquier actualización. 
La ubicación de los archivos de la base de datos pueden ser cualquier carpeta local en la cual se tengan permisos, para este ejemplo usamos la carpeta por defecto de SQL Server, llamada DATA y localizada dentro de la carpeta de instalación de Microsoft SQL Server. 
Adjuntar base de datos 
En el administrador de SQL Server ejecutamos el comando: 
Declare @Path varchar(1024), @ArchivoDatos varchar(1024), @ArchivoLog varchar(1024) 
Select @Path = (SELECT Top 1 SUBSTRING(physical_name, 1, CHARINDEX('master.mdf', 
LOWER(physical_name)) - 1) FROM master.sys.master_files WHERE name='master') 
set @ArchivoDatos=@Path + 'EjemploBD.mdf' 
set @ArchivoLog=@Path + 'EjemploBD_log.ldf' 
EXEC sp_attach_db 'EjemploBD', @ArchivoDatos, @ArchivoLog 
Separar base de datos 
En el administrador de SQL Server ejecutamos el comando: 
sp_detach_db EjemploBD 
Esto desconectará la base de datos EjemploBD y dejará de estar disponible para cualquier aplicación cliente que se conecte a esta instancia del servidor.
29 
www.qsoluciones.net 
Respaldos 
Es importante contar con una estrategia de respaldos que garantice contar con una copia de los datos en caso de perdida por cualquier falla o imprevisto. Los respaldos de la base de datos entera se conocen como Full o Completos, mientras que las copias de seguridad que solo guardan los cambios realizados desde el respaldo anterior se les conoce como Diferenciales. 
En la versión 2012 de SQL Server se incorpora la posibilidad de hacer un respaldo en la nube de Microsoft conocida como Azure. 
Respaldo Completo 
BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’, NAME=’Respaldo completo de EjemploBd’ 
Respaldo Diferencial 
BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH DIFFERENTIAL, NAME=’Respaldo No. 1 diferencial de EjemploBD’ 
Si contamos con la versión Estandar, BI o Entreprise podremos realizar respaldos comprimidos agregando la opción COMPRESSION: 
BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH COMPRESSION 
BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH DIFFERENTIAL, COMPRESSION 
NOTAS 
. Si el nombre de archivo destino para el respaldo ya existe, no se sobrescribe o se pierde el respaldo anterior, la sentencia BACKUP agrega los datos del nuevo respaldo al final del archivo. 
. Para realizar un respaldo diferencial es necesario que anteriormente exista un respaldo Completo o de lo contrario se producirá un error. 
. Podrá realizar un respaldo en cualquier momento, incluso si existen usuarios consultando o realizando cambios en la base de datos.
www.qsoluciones.net 
30 
Restaurar base de datos 
RESTORE DATABASE EjemploBD FROM DISK=’D: EjemploBD.bak’ WITH RECOVERY 
. La opción RECOVERY indica que la base de datos quedara en operación inmediatamente después de recuperar los datos del respaldo. 
. Si el respaldo más reciente es diferencial, se deberá restaurar primero el ultimo respaldo Completo y a continuación todos los diferenciales en el mismo orden en que se crearon.
31 
www.qsoluciones.net 
IV. Diseño de Bases de Datos 
El diseño de una base de datos se realiza en 3 etapas, la primera es el diseño conceptual, que consiste en plasmar las ideas sobre el proyecto de base de datos que tiene el usuario final sobre los requerimientos o el problema a resolver. El diseño lógico es una representación que muestra las entidades y relaciones involucradas en la solución de base de datos, mientras que el diseño lógico especifica los requerimientos de almacenamiento, tipos de datos, y validaciones necesarias y especificas al manejador de base de datos. 
Diseño Conceptual: 
El diseño conceptual consiste en dibujos, planos y diagramas simples que representan una idea o ideas sobre la solución de bases de datos a construir. El diseño conceptual se basa exclusivamente en los requerimientos de información de la empresa o usuario del sistema, sin tomar en cuenta los requisitos o limitaciones del hardware. El modelo relacional permite documentar de manera formal el diseño conceptual utilizando una notación estándar. 
Cliente 
Compra 
Código 
Saldo 
Nombre 
Producto 
Descripciٕón 
Código 
Precio
www.qsoluciones.net 
32 
Diseño Lógico: 
El diseño lógico se acerca más al manejador de base de datos relacional, ya que representa entidades y relaciones. En este diseño se ven las relaciones y el tipo de relación entre entidades. 
En este modelo los datos se representan en tablas que a su vez se estructuran en filas (registros) y columnas (campos), lo cual no representa como se almacenan físicamente los datos. El modelo relacional se llama así porque hace un gran énfasis en las tablas y las relaciones existentes entre ellas. 
El diseño lógico no precisa el tipo de datos como se almacenan físicamente ni el espacio que ocuparan en el manejador a utilizar. Aquí se determinan las entidades que existen y las relaciones entre estas sin especificar de qué manera se almacenan. 
Cliente 
* IDCliente 
Nombre 
Saldo 
Domicilio 
Edad
33 
www.qsoluciones.net 
Diseño Físico: 
En esta etapa se precisan los atributos y tipos de datos específicos del manejador de base de datos. Aquí se traduce el diseño lógico en estructuras y relaciones que representan la manera en que se almacén y validan los datos representados. Por ejemplo, en el diseño físico se especifica el tipo de datos IDCliente, el rango de valores que acepta y si acepta Nulos o se rechazan. 
Cliente Tipo de dato 
* IDCliente 
Entero largo, incremental(1,1) 
Nombre 
Varchar(50) 
Saldo 
Float 
Domicilio 
Varchar(200) 
Edad 
tinyint
www.qsoluciones.net 
34 
Modelos E-R
35 
www.qsoluciones.net 
Normalización

Contenu connexe

Tendances

Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datosalexmerono
 
Servidor web en packet tracer
Servidor web en packet tracerServidor web en packet tracer
Servidor web en packet tracerKevin Cruz Duarte
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
SISTEMA DE GESTION DE BASE DE DATOS SGBD
SISTEMA DE GESTION DE BASE DE DATOS SGBDSISTEMA DE GESTION DE BASE DE DATOS SGBD
SISTEMA DE GESTION DE BASE DE DATOS SGBDIsabel C de Talamas
 
Las diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosLas diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosImperva
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSitsl
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Plan de Pruebas
Plan de PruebasPlan de Pruebas
Plan de Pruebaschoselin
 
Fase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i webFase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i webROSA IMELDA GARCIA CHI
 
Estrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidasEstrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidasJosé Mendoza
 

Tendances (20)

Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
Servidor web en packet tracer
Servidor web en packet tracerServidor web en packet tracer
Servidor web en packet tracer
 
Administracion de Bases de datos
Administracion de Bases de datosAdministracion de Bases de datos
Administracion de Bases de datos
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
direcciones ip no validas
direcciones ip no validasdirecciones ip no validas
direcciones ip no validas
 
Analisis trafico wireshark
Analisis trafico wiresharkAnalisis trafico wireshark
Analisis trafico wireshark
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
SISTEMA DE GESTION DE BASE DE DATOS SGBD
SISTEMA DE GESTION DE BASE DE DATOS SGBDSISTEMA DE GESTION DE BASE DE DATOS SGBD
SISTEMA DE GESTION DE BASE DE DATOS SGBD
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Las diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datosLas diez principales amenazas para las bases de datos
Las diez principales amenazas para las bases de datos
 
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESSINTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
INTEGRIDAD DE ENTIDAD E INTEGRIDAD REFERENCIAL EN SQL SERVER Y ACCESS
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
ENSA_Module_8.pptx
ENSA_Module_8.pptxENSA_Module_8.pptx
ENSA_Module_8.pptx
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Plan de Pruebas
Plan de PruebasPlan de Pruebas
Plan de Pruebas
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
 
Fase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i webFase 2 modelado del análisis de i web
Fase 2 modelado del análisis de i web
 
Estrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidasEstrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidas
 

Similaire à SQL Server 2012 distribuidas bases datos

Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012DILMER OLIVERA
 
40786151 tutorial-de-sql-server-2005
40786151 tutorial-de-sql-server-200540786151 tutorial-de-sql-server-2005
40786151 tutorial-de-sql-server-2005Like Music
 
Un vistazo a sql server
Un vistazo a sql serverUn vistazo a sql server
Un vistazo a sql serverLalo Pérez
 
Diferentes versiones sql server
Diferentes versiones sql serverDiferentes versiones sql server
Diferentes versiones sql serverJillian Motoharu
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosPedroJunior178
 
Manual instalacion sql_server
Manual instalacion sql_serverManual instalacion sql_server
Manual instalacion sql_serverJhon_Marjorie
 
Manual S Q L Sever2000( C E P S U N I)
Manual S Q L Sever2000( C E P S  U N I)Manual S Q L Sever2000( C E P S  U N I)
Manual S Q L Sever2000( C E P S U N I)Julio Pari
 
Microsoft sql server Andre y Mateo
Microsoft sql server Andre y MateoMicrosoft sql server Andre y Mateo
Microsoft sql server Andre y Mateosolojacksonyandre
 
Microsoft sql-server-2012
Microsoft sql-server-2012Microsoft sql-server-2012
Microsoft sql-server-2012Vannesa Salazar
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)Blas Balarezo Renteria
 

Similaire à SQL Server 2012 distribuidas bases datos (20)

Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
40786151 tutorial-de-sql-server-2005
40786151 tutorial-de-sql-server-200540786151 tutorial-de-sql-server-2005
40786151 tutorial-de-sql-server-2005
 
Un vistazo a sql server
Un vistazo a sql serverUn vistazo a sql server
Un vistazo a sql server
 
Diferentes versiones sql server
Diferentes versiones sql serverDiferentes versiones sql server
Diferentes versiones sql server
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
 
Manual instalacion sql_server
Manual instalacion sql_serverManual instalacion sql_server
Manual instalacion sql_server
 
LENGUAJE DE PROGRAMACION SQL
LENGUAJE DE PROGRAMACION SQLLENGUAJE DE PROGRAMACION SQL
LENGUAJE DE PROGRAMACION SQL
 
Manual S Q L Sever2000( C E P S U N I)
Manual S Q L Sever2000( C E P S  U N I)Manual S Q L Sever2000( C E P S  U N I)
Manual S Q L Sever2000( C E P S U N I)
 
Sql
SqlSql
Sql
 
Sql sever 2008
Sql sever 2008Sql sever 2008
Sql sever 2008
 
Diapositivas de sql server 2012
Diapositivas de sql server 2012Diapositivas de sql server 2012
Diapositivas de sql server 2012
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Microsoft sql server Andre y Mateo
Microsoft sql server Andre y MateoMicrosoft sql server Andre y Mateo
Microsoft sql server Andre y Mateo
 
Microsoft sql-server-2012
Microsoft sql-server-2012Microsoft sql-server-2012
Microsoft sql-server-2012
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
Administracion de base de datos (blas gianpierre balarezo renteria)
Administracion de base de datos   (blas gianpierre balarezo renteria)Administracion de base de datos   (blas gianpierre balarezo renteria)
Administracion de base de datos (blas gianpierre balarezo renteria)
 
Tarea 1 bd
Tarea 1 bdTarea 1 bd
Tarea 1 bd
 
SEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptxSEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptx
 

Dernier

SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsCZSOTEC
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 

Dernier (7)

SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios Windows
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 

SQL Server 2012 distribuidas bases datos

  • 1. BASES DE DATOS DISTRIBUIDAS CON SQL SERVER 2012 (2014) Antonio Ortiz Ramírez www.aortiz.net www.qsoluciones.net
  • 2. www.qsoluciones.net 2 Dirigido a: Programadores, Analistas de Sistemas, Administradores de Sistemas, Estudiantes y Profesores que deseen aprender a diseñar e implementar un modelo de base de datos distribuida. Deseable: Conocimientos de bases de datos, SQL. Requisitos: Haber cursado alguna carrera relacionada a la informática o tener experiencia en bases de datos. Duración: 50 hrs.
  • 3. 3 www.qsoluciones.net CONTENIDO: I. Introducción al modelo relacional De Sequel a SQL Server Bases de Datos Relacionales Manejadores de Bases de Datos Relacionales SQL Arquitectura Cliente-Servidor II. Instalación y Configuración de SQL Server Instalación Manual Configuración de Instancias Administrador de Configuración (Configuration Manager) III. Administración de SQL Server SQL Server Management Studio Separar y Adjuntar bases de datos Respaldos Compactar Importar Datos IV. Diseño de Bases de Datos Diseño Conceptual Diseño Lógico Diseño Físico Modelo relacional Modelos E-R Normalización
  • 4. www.qsoluciones.net 4 V. Arquitectura de SQL Server Archivos de datos Archivo de transacciones Grupos de archivos Páginas de Datos Índices Clustered Índices Non clustered VI. Transact SQL Diagramas DDL Consultas SubConsultas VII. Vistas Vistas Vistas Indexadas VIII Bases de Datos Distribuidas Descripción Características de una base de datos distribuidas Ventajas Desventajas Creando un modelo de base de datos distribuidas IX. Consultas Distribuidas Servidores vinculados Consultas distribuidas
  • 5. 5 www.qsoluciones.net Transacciones Distribuidas X. Procedimientos Almacenados (Stored Procedures) y Funciones Procedimientos del Sistema Procedimientos del Usuario Funciones del Sistema Funciones del Usuario SQL Dinámico vs Procedimientos Almacenados XI. Desencadenadores (Triggers) XII. Replicación Publicador Suscriptor Réplica de instantáneas Réplica transaccional Replicación de Mezcla
  • 6. www.qsoluciones.net 6 I. INTRODUCCIÓN AL MODELO RELACIONAL Objetivo de este capítulo: En este capítulo se hace un repaso, de la historia de Sequel a SQL Server, de los conceptos básicos del modelo relacional, en específico de temas como bases de datos relacionales, tablas, llave primaria y secundaria, relaciones, manejador de base de datos, SQL, arquitectura cliente-servidor, normalización. Duración aproximada: 5 horas De Sequel a SQL Server: Sequel (Structured English Query Language ) es el primer lenguaje para acceso a datos relacionales, creado por IBM en la década de 1970, el cual pasaría a ser el antecesor del estándar SQL. Microsoft SQL Server, la implementación del manejador de base de datos reconoce los orígenes del lenguaje estándar de consulta y por esto adopta la pronunciación ‘sequel’ para el producto de Microsoft. La implementación (variante o dialecto) de SQL incluida en Microsoft SQL Server es llamada Transact SQL.
  • 7. 7 www.qsoluciones.net Bases de Datos Relacionales: Son bases de datos cuyo diseño está basado en el modelo relacional, las cuales contienen Tablas que representan ‘entidades’ y relaciones entre estas tablas. Modelo relacional El modelo relacional permite representar datos de manera fácil y está basado en la teoría de conjuntos y lógica de predicados. El modelo relacional permite realizar el modelo conceptual de una base de datos. Así, una base de datos relacional se compone de un conjunto de tablas que se relacionan entre sí por un campo en común. Algunas características del modelo relacional:  Los nombres de tablas deben ser en singular  Los nombres tablas son únicos  Cada tabla es un conjunto de filas (registros) y columnas (campos)  Las tablas se relacionan por medio de las llaves primarias y foráneas  La Llave primaria es un valor único que define a los demás atributos (columnas) de la tabla *Clave Nombre Telefono Ciudad 1 Juan Lopez (55) 1234-5678 Mexico, DF 2 Pedro Zapata (33) 2345-6789 Guadalajara 3 Luis Rodriguez (81) 9876-5432 Monterrey Tabla: Persona Columna (Campo) Fila (Registro) Compra Producto Cliente 1 * 1:N
  • 8. www.qsoluciones.net 8 Manejadores de Bases de Datos Relacionales: Los ‘Sistemas Manejadores de Bases de Datos’ o DBMS por sus siglas en inglés; permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Entre los manejadores más populares están Microsoft SQL Server, Oracle, DB2, MySQL, Interbase, etc. SQL: el lenguaje estructurado de consulta (Structured Query Language) permite que las aplicaciones realicen consultas, actualizaciones y eliminación a los datos de una base de datos relacional mediante sentencias definidas por este lenguaje estandarizado. SQL contiene 2 grupos principales de sentencias que se agrupan en: DDL (Data Definition Language) por medio de la cual se puede crear o modificar la estructura de los datos (tablas, índices, relaciones); ejemplos de estos en Transact SQL son: CREATE, ALTER, DROP y TRUNCATE. DML (Data Manipulation Language) o Lenguaje de manipulación de datos, que permite consultar, insertar, eliminar o actualizar los datos. Los más conocidos son: SELECT, INSERT, DELETE, UPDATE
  • 9. 9 www.qsoluciones.net Arquitectura Cliente-Servidor: Es un modelo de aplicación donde las tareas se dividen entre la aplicación Cliente que consume los servicios y recursos del Servidor. Ejemplo de este tipo de arquitectura son los servidores FTP y clientes FTP, Servidores Web y navegadores. La separación del cliente y servidor es de tipo lógica, lo cual implica que ambos pueden estar contenidos en el mismo hardware o en equipos separados, incluso cada uno de ellos puede estar instalado en un clúster o grupo de computadoras.
  • 10. www.qsoluciones.net 10 II. INSTALACIÓN Y CONFIGURACIÓN DE SQL SERVER Instalación Manual: Para esta instalación se utilizara el paquete de instalación de SQL Server 2012 express el cual está disponible de manera gratuita desde el sitio oficial de Microsoft. http://msdn.microsoft.com/es-mx/evalcenter/hh230763.aspx De clic al botón “Empiece hoy mismo y en la siguiente pantalla seleccione la edición que requiera: https://www.microsoft.com/betaexperience/pd/SQL2012EvalNOCTA/esxl/ Voy a utilizar la edición de 64 bits, que además ya incluye la herramienta “Management Studio” (edición With Tools, distintivo de la terminación WT en el nombre del archivo) , doy doble clic al ejecutable y espero a que aparezca la siguiente pantalla:
  • 11. 11 www.qsoluciones.net Hacemos clic en la opción “New SQL Server stand-alone installation”, enseguida aparece la pantalla con los términos de licencia, a lo cual aceptamos y hacemos clic en el botón Siguiente (Next). En esta ocasión me indica que ya existen actualizaciones para el producto se instalaran automáticamente (SP1).
  • 12. www.qsoluciones.net 12 Aceptamos y continuamos haciendo clic en el botón Siguiente (Next).
  • 13. 13 www.qsoluciones.net En esta pantalla aceptamos las características por defecto y continuamos. En la siguiente pantalla seleccionamos cambiar el nombre de instancia, en este ejemplo utilizo: SQL2012.
  • 14. www.qsoluciones.net 14 En la sección inferior de la pantalla me indica que ya se encuentra una instancia instalada, llamada SQL2008, verificamos que todo está bien y damos clic a Siguiente.
  • 15. 15 www.qsoluciones.net En esta pantalla se configura las cuentas que utilizan los servicios a instalar, dejamos la configuración por defecto y hacemos clic en Siguiente.
  • 16. www.qsoluciones.net 16 Aquí seleccionamos el tipo de seguridad a utilizar para SQL Server, en esta ocasión utilizo Autenticacion Mixta (o de SQL Server) por no encontrarme en una red con dominio, administrada por Windows Server, en caso de administrar acceso y privilegios con Windows Server, sería aconsejable usar el modo de Autenticación Windows.
  • 17. 17 www.qsoluciones.net La siguiente pantalla que aparece permite indicar si desea enviar un reporte sobre la instalación a Microsoft. Seleccione la opción deseada y de clic en Siguiente.
  • 18. www.qsoluciones.net 18 Si todo finaliza correctamente, la pantalla final sería esta:
  • 19. 19 www.qsoluciones.net Administrador de Configuración (SQL Server Configuration Manager) Despues de haber instalado SQL Server, vamos al menú de inicio, en la carpeta Microsoft SQL Server 2012, abrimos la subcarpeta Configuration Tools y hacemos clic en SQL Server Configuration Manager. Abrimos la opción SQL Server Network Configuration y hacemos doble clic en TCP/IP
  • 20. www.qsoluciones.net 20 En esta ventana revisamos que se encuentre seleccionado Sí para la opción Activo, de esta manera comprobamos que el protocolo TCP/IP se encuentra disponible para comunicarnos con esta Instancia de SQL Server.
  • 21. 21 www.qsoluciones.net Hacemos clic en la pestaña Direcciones IP (IP Addresses)
  • 22. www.qsoluciones.net 22 Aquí se configura el puerto a utilizar por esta instancia, recomendamos por ahora usar el puerto estándar de SQL Server que es el 1433. Para ello, revisamos cada sección donde encontremos TCP Dynamics Ports y eliminamos el 0, enseguida colocamos el valor del puerto hasta el final en IP ALL, opción TCP Port. Después de aceptar, deberemos reiniciar el servicio para que escuche en el puerto seleccionado. ¿Porque definir un puerto fijo en lugar de dinámico? Cada vez que inicia el servicio podría obtener el primer puerto disponible en el equipo, el cual es muy probable que sea diferente y podríamos tener problemas de conexión desde las aplicaciones cliente. NOTA: Si ya se encuentra una instancia funcionando con este puerto, la instancia de SQL 2012 que instalamos recientemente no podrá iniciar y deberemos cambiar el puerto.
  • 23. 23 www.qsoluciones.net III. ADMINISTRACIÓN DE SQL SERVER SQL Server Management Studio. Mediante la herramienta Management Studio es posible visualizar, crear y modificar los objetos contenidos en una instancia de SQL Server; mediante su interfaz gráfica facilita las tareas que normalmente requieren de escribir código DDL o DML En la carpeta de SQL Server 2012 del menú de inicio podemos abrir SQL Server Management Studio, a partir de la cual aparece la siguiente ventana: Indique el nombre de instancia a la cual desea conectarse, a continuación seleccione el tipo de autenticación Windows si eligió esta durante la instalación o se encuentra en el equipo que contiene la instancia de SQL Server; seleccione autenticación SQL Server si eligió esta durante la instalación.
  • 24. www.qsoluciones.net 24 Crear una base de datos Hacemos clic en el botón Nueva consulta (New Query) y en la ventana de edición que aparece tecleamos lo siguiente: CREATE DATABASE EjemploBD Hacemos clic en el botón Ejecutar ( Execute ). A continuación indicamos que deseamos poner en uso la nueva base de datos EjemploBD. Para eso tecleamos la siguiente sentencia: USE EjemploBD * NOTA: Para ejecutar solo este comando y no el anterior, podemos escribir en un renglón debajo de la sentencia anterior, enseguida seleccionar la línea que contiene la sentencia USE EjemploBD y hacer clic al botón Ejecutar. O si lo prefieres podrias eliminar el contenido de la ventana y enseguida teclear la nueva sentencia.
  • 25. 25 www.qsoluciones.net Crear Tablas CREATE TABLE Persona(ID int IDENTITY PRIMARY KEY, Nombre varchar(50), Edad int DEFAULT 0, Peso float DEFAULT 0) En el árbol de la izquierda deberá aparecer la tabla Persona, dentro del objeto EjemploBD, Tables. En caso de no aparecer podrá refrescar la vista haciendo clic con botón derecho en Tables y luego en Actualizar (Refresh). Si hacemos clic con botón derecho en la tabla Persona y enseguida en Diseño (Design) veremos la tabla, las columnas y tipos de datos de cada una. Crear índices Ahora creamos un índice para el nombre de la persona Create Index ind_Persona_Nombre ON Persona(Nombre)
  • 26. www.qsoluciones.net 26 Aquí observamos que la columna ID es de tipo Identity, con un valor inicial de 1 y un incremento de 1, esto asegura que sea un valor único incremental, por otro lado se agregó la propiedad de Llave primaria y por defecto se creó el índice como Clustered; esto lo podemos confirmar en la ventana de índices.
  • 27. 27 www.qsoluciones.net Sólo podemos tener un índice clustered por tabla; y esto es debido a que la propiedad clustered determina el orden físico de los registros dentro de las páginas de datos, permitiendo que los datos sean ordenados e indexados mientras son almacenados tomando en cuenta esta columna (o columnas). El índice clustered es por su naturaleza el más rápido, ya que una vez encontrado el dato a través de ese índice, se pueden obtener todas las demás columnas sin hacer un salto a los datos. En cualquier otro tipo de índice, se crea un objeto en la base de datos que contiene una estructura para la columna indexada y por cada registro en el índice existe un apuntador a la ubicación física de los datos del registro.
  • 28. www.qsoluciones.net 28 Separar y Adjuntar bases de datos El proceso de Conectar o indicar a SQL Server que use y ponga activa una base de datos para los usuarios se le llama ‘Adjuntar’; el proceso contrario se conoce como ‘desconectar’ o separar una base de datos, de tal manera que SQL Server deje de administrarla e imposibilite cualquier actualización. La ubicación de los archivos de la base de datos pueden ser cualquier carpeta local en la cual se tengan permisos, para este ejemplo usamos la carpeta por defecto de SQL Server, llamada DATA y localizada dentro de la carpeta de instalación de Microsoft SQL Server. Adjuntar base de datos En el administrador de SQL Server ejecutamos el comando: Declare @Path varchar(1024), @ArchivoDatos varchar(1024), @ArchivoLog varchar(1024) Select @Path = (SELECT Top 1 SUBSTRING(physical_name, 1, CHARINDEX('master.mdf', LOWER(physical_name)) - 1) FROM master.sys.master_files WHERE name='master') set @ArchivoDatos=@Path + 'EjemploBD.mdf' set @ArchivoLog=@Path + 'EjemploBD_log.ldf' EXEC sp_attach_db 'EjemploBD', @ArchivoDatos, @ArchivoLog Separar base de datos En el administrador de SQL Server ejecutamos el comando: sp_detach_db EjemploBD Esto desconectará la base de datos EjemploBD y dejará de estar disponible para cualquier aplicación cliente que se conecte a esta instancia del servidor.
  • 29. 29 www.qsoluciones.net Respaldos Es importante contar con una estrategia de respaldos que garantice contar con una copia de los datos en caso de perdida por cualquier falla o imprevisto. Los respaldos de la base de datos entera se conocen como Full o Completos, mientras que las copias de seguridad que solo guardan los cambios realizados desde el respaldo anterior se les conoce como Diferenciales. En la versión 2012 de SQL Server se incorpora la posibilidad de hacer un respaldo en la nube de Microsoft conocida como Azure. Respaldo Completo BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’, NAME=’Respaldo completo de EjemploBd’ Respaldo Diferencial BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH DIFFERENTIAL, NAME=’Respaldo No. 1 diferencial de EjemploBD’ Si contamos con la versión Estandar, BI o Entreprise podremos realizar respaldos comprimidos agregando la opción COMPRESSION: BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH COMPRESSION BACKUP DATABASE EjemploBD TO DISK=’D: EjemploBD.bak’ WITH DIFFERENTIAL, COMPRESSION NOTAS . Si el nombre de archivo destino para el respaldo ya existe, no se sobrescribe o se pierde el respaldo anterior, la sentencia BACKUP agrega los datos del nuevo respaldo al final del archivo. . Para realizar un respaldo diferencial es necesario que anteriormente exista un respaldo Completo o de lo contrario se producirá un error. . Podrá realizar un respaldo en cualquier momento, incluso si existen usuarios consultando o realizando cambios en la base de datos.
  • 30. www.qsoluciones.net 30 Restaurar base de datos RESTORE DATABASE EjemploBD FROM DISK=’D: EjemploBD.bak’ WITH RECOVERY . La opción RECOVERY indica que la base de datos quedara en operación inmediatamente después de recuperar los datos del respaldo. . Si el respaldo más reciente es diferencial, se deberá restaurar primero el ultimo respaldo Completo y a continuación todos los diferenciales en el mismo orden en que se crearon.
  • 31. 31 www.qsoluciones.net IV. Diseño de Bases de Datos El diseño de una base de datos se realiza en 3 etapas, la primera es el diseño conceptual, que consiste en plasmar las ideas sobre el proyecto de base de datos que tiene el usuario final sobre los requerimientos o el problema a resolver. El diseño lógico es una representación que muestra las entidades y relaciones involucradas en la solución de base de datos, mientras que el diseño lógico especifica los requerimientos de almacenamiento, tipos de datos, y validaciones necesarias y especificas al manejador de base de datos. Diseño Conceptual: El diseño conceptual consiste en dibujos, planos y diagramas simples que representan una idea o ideas sobre la solución de bases de datos a construir. El diseño conceptual se basa exclusivamente en los requerimientos de información de la empresa o usuario del sistema, sin tomar en cuenta los requisitos o limitaciones del hardware. El modelo relacional permite documentar de manera formal el diseño conceptual utilizando una notación estándar. Cliente Compra Código Saldo Nombre Producto Descripciٕón Código Precio
  • 32. www.qsoluciones.net 32 Diseño Lógico: El diseño lógico se acerca más al manejador de base de datos relacional, ya que representa entidades y relaciones. En este diseño se ven las relaciones y el tipo de relación entre entidades. En este modelo los datos se representan en tablas que a su vez se estructuran en filas (registros) y columnas (campos), lo cual no representa como se almacenan físicamente los datos. El modelo relacional se llama así porque hace un gran énfasis en las tablas y las relaciones existentes entre ellas. El diseño lógico no precisa el tipo de datos como se almacenan físicamente ni el espacio que ocuparan en el manejador a utilizar. Aquí se determinan las entidades que existen y las relaciones entre estas sin especificar de qué manera se almacenan. Cliente * IDCliente Nombre Saldo Domicilio Edad
  • 33. 33 www.qsoluciones.net Diseño Físico: En esta etapa se precisan los atributos y tipos de datos específicos del manejador de base de datos. Aquí se traduce el diseño lógico en estructuras y relaciones que representan la manera en que se almacén y validan los datos representados. Por ejemplo, en el diseño físico se especifica el tipo de datos IDCliente, el rango de valores que acepta y si acepta Nulos o se rechazan. Cliente Tipo de dato * IDCliente Entero largo, incremental(1,1) Nombre Varchar(50) Saldo Float Domicilio Varchar(200) Edad tinyint