base de datos ii
DESCRIPTION
Base de Datos IIIITRANSCRIPT
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 2
Sesión 01
Definiciones Básicas
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 3
Definición del SQL Server 2008 R2
Microsoft SQL Server es un sistema para la gestión de bases de datos producido
por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI
SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores
de bases de datos como son Oracle, PostgreSQL o MySQL.
Ventajas
Es un Sistema de Gestión de Bases de Datos Relacionales (SGBDR).
Puede ser útil para manejar y/o obtener datos de la red de redes.
Ofrece una potente forma de unir SQL e Internet.
Utiliza una extensión al SQL estandar, que se denomina Transact SQL.
El Transact SQL, soporta la definición, modificación y eliminación de bases de datos, tablas,
atributos, índices, etc., es decir, el lenguaje de definición de datos (LDD), así como la
consulta, actualización y borrado de tuplas de tablas, es decir, el lenguaje de manipulación
de datos (LMD).
Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que forman la
base de datos. En Access tenemos que abrir el fichero .mdb para ver el contenido. Aquí
abrimos la consola de SQL Server y tenemos todas las bases de datos de todos nuestros
programas. Esto es muy cómodo, ciertamente.
Si trabajamos en una red local nos permite agregar otros servidores de SQL Server. por
ejemplo: yo tengo en mi computador una base de datos en mi servidor SQL y mi
compañero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al suyo y así
tengo sus bases de datos en mi SQL Server. Esto, también es muy cómodo.
Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de servidor,
seguridad en tablas, permitir o no lectura, escritura, ejecución; seguridad en los
procedimientos almacenados (después hablo de ellos)... todo se puede configurar. O sea,
que podemos permitir que alguien conecte su SQL al nuestro pero sin embargo podemos
decirle que no puede ver esta base de datos pero otra sí.
Características
Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye también un entorno gráfico de administración, que permite el uso
de comandos DDL y DML gráficamente.
Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en
el servidor y los terminales o clientes de la red sólo acceden a la información.
Además permite administrar información de otros servidores de datos.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de
datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser
el SQL Express Edition, que se distribuye en forma gratuita.
El tipo NUMERIC fue mejorado para ser usado como identificador de columna.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 4
Definiciones de MySQL y Workbench
Concepto de MySQL
MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de
seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun
Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como
software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para
aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa
una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad
pública y los derechos de autor del código están en poder del autor individual, MySQL es
patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es
lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de
licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan
trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David
Axmark, Allan Larsson y Michael Widenius.
Concepto de Workbeanch
MySQL Workbench es una herramienta visual de diseño de bases de datos que integra desarrollo
de software, Administración de bases de datos, diseño de bases de datos, creación y
mantenimiento para el sistema de base de datos MySQL. Es el sucesor de DBDesigner 4 de
fabFORCE.net, y reemplaza el anterior conjunto de software, MySQL GUI Tools Bundle.Ventajas
Características de MySQL
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos
relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los
desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por
desarrollos internos, como por desarrolladores de software libre. Entre las características
disponibles en las últimas versiones se puede destacar:
Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes
velocidades de operación, soporte físico, capacidad, distribución geográfica,
transacciones.
Transacciones y claves foráneas.
Conectividad segura.
Replicación.
Búsqueda e indexación de campos de texto.
MySQL es un sistema de administración de bases de datos. Una base de datos es una colección
estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 5
una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar,
acceder a y procesar datos guardados en un computador, usted necesita un administrador como
MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de
información, los administradores de bases de datos juegan un papel central en computación, como
aplicaciones independientes o como parte de otras aplicaciones.
MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional
archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto
permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen
posible combinar datos de diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier
persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo
sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades.
MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y qué no puede
hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir
código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial
licenciada.
Ventajas y Desventajas de MySQL
Ventajas
1. MySQL software es Open Source
2. Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor
rendimiento.
3. Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo
consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.
4. Facilidad de configuración e instalación.
5. Soporta gran variedad de Sistemas Operativos.
6. Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio
gestor, sino en el sistema en el que está.
7. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para
acceder bases de datos en Internet.
8. El software MySQL usa la licencia GPL
Desventajas
1. Un gran porcentaje de las utilidades de MySQL no están documentadas.
2. No es intuitivo, como otros programas (ACCESS).
Características de Workbeanch
General
Conexión a base de datos & Instance Management
Wizard driven action ítems
Fully scriptable with Python and Lua
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 6
Soporte para plugins personalizados
Editor de SQL
Schema object browsing
SQL syntax highlighter and statement parser
Multiple-, editable result sets
SQL snippets collections
SSH connection tunneling
Soporte Unicode
Modelado de datos
Diagrama entidad relación
Drag'n'Drop visual modeling
Reverse engineering from SQL Scripts and live database
Forward engineering to SQL Scripts and live database
Sincronización de esquema
Ventajas y Desventajas de Workbench
Ventajas
1. Brinda libertad a los usuarios.
2. Puede ser usado, copiado, estudiado, modificado y redistribuido.
3. Ahorros multimillonarios en la adquisición de licencias.
4. Tiende a ser muy eficiente (porque mucha gente lo optimiza, mejora).
Desventajas
1. El software libre y el software no-comercial son en realidad incompatibles con el software
comercial.
2. El software libre crea riesgos legales.
3. El software libre no tiene garantía proveniente del autor.
4. Disminuye el índice de software ―pirata‖
Diseña y administra base de datos avanzada
Printing of models
Import from fabFORCE.net DBDesigner4
o Database administration
Start and stop of database instances
Instance configuration
Database account management
Instance variables browsing
Log file browsing
Data dump export/import
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 7
Tipos de Datos
Al diseñar nuestras tablas tenemos que especificar el tipo de datos y tamaño que podrá almacenar cada campo. Una correcta elección debe procurar
que la tabla no se quede corta en su capacidad, que destine un tamaño apropiado a la longitud de los datos, y la máxima velocidad de ejecución
Básicamente los gestores de Base de datos admiten dos tipos de datos: números y cadenas de carácteres. Junto a estos dos grandes grupos, se admiten
otros tipos de datos especiales: formatos de fecha, etc.
Microsoft SQL Server 2008 R2 MySQL WorkBench 6.2
Tipos Numéricos
BigInt: de -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (-9.223.372.036.854.775.807). El
tamaño de almacenamiento es de 8 bytes.
Bit: El tipo de datos entero que puede aceptar los valores 1, 0 o NULL. SQL Server
Database Engine (Motor de Base de datos de SQL Server) optimiza el
almacenamiento de las columnas de tipo bit. Si una tabla contiene 8 columnas o
menos de tipo bit, estas se almacenan como 1 byte. Si hay entre 9 y 16 columnas de
tipo bit, se almacenan como 2 bytes, y así sucesivamente. Los valores de cadena
TRUE y FALSE se pueden convertir en valores de tipo bit: TRUE se convierte en 1 y
FALSE en 0.
Decimal [(p,[(s)])]: Cuando se utiliza la precisión máxima, los valores válidos se
sitúan entre -10^38+1 y 10^38-1. p(precisión): el número total máximo de dígitos
decimales que se puede almacenar, tanto a la izquierda como a la derecha del
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
total máximo de dígitos decimales que se puede almacenar a la derecha del
separador decimal. La escala debe ser una valor comprendido entre 0 y p. solo es
posible especificar la escala si se ha especificado la precisión. La escala
TinyInt: número entero que puede tener o no signo. Si lleva signo el rango de
valores es de -128 a 127 y sin signo 0 a 255. El tamaño de almacenamiento es
de 1 byte.
Bit ó Bool: número entero: 0 ó 1.
SmallInt: número entero que puede tener o no signo. Si tiene signo el rango
es de -32768 a 32767 y sin signo 0 a 65535. El tamaño de almacenamiento es
de 2 bytes.
MediumInt: número entero que puede tener o no signo. Si tiene signo el
rango es de -8.388.608 a 8.388.607 y sin signo 0 a16777215. El tamaño de
almacenamiento es de 3 bytes.
Integer, Int: número entero que puede tener o no signo. Si tiene signo el
rango es de -2147483648 a 2147483647 y sin signo el 0 a 429.4967.295. El
tamaño de almacenamiento es de 4 bytes.
BigInt: número entero que puede tener o no signo. Si tiene signo el rango es
de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 y sin signo 0 a
18.446.744.073.709.551.615. El tamaño de almacenamiento es de 8 bytes.
Float: número pequeño en coma flotante de precisión simple. Los rangos
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 8
predeterminada es 0; por lo tanto 0<=s<=p. los tamaños de almacenamiento
máximo varían según la posición.
Precisión Bytes de Almacenamiento
1-9 5
10-19 9
20-28 13
29-38 17
Int: de -2^31 (-2.147.483.648) a 2^31-1 (-2.147.483.647). El tamaño de
almacenamiento es de 4 bytes.
Money: de -922,337,203,685.477,5808 a 922,337,203,685.477,5807. El tamaño de
almacenamiento es de 8 bytes.
Numeric: se emplea al igual que el tipo decimal. Numeric [(p,s)]
SmallInt: de -2^15 (-32.768) a 2^15-1 (-32.767). El tamaño de almacenamiento es de
2 bytes.
Smallmoney: de –214.747,3648 a 214.747,3647. El tamaño de almacenamiento es de
4 bytes.
TinyInt: de 0 a 255. El tamaño de almacenamiento es de 1 byte.
Float [(n)]: de -1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308. El tamaño de
almacenamiento depende de n.
Real: de -3,40E + 38 a -1,18E-38,0 y de 1,18E–38 a 3,40E+38. El tamaño de
almacenamiento es de 4 bytes.
están entre -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a
3.402823466E+38. El tamaño de almacenamiento es de 4 bytes.
Real, Double: número en coma flotante de precisión doble. Los rangos están
entre -1.7976931348623157E+308 a - 2.2250738585072014E-308, 0 y desde
2.2250738585072014E-308 a 1.7976931348623157E+308. El tamaño de
almacenamiento es de 8 bytes.
Decimal, Dec, Numeric: Número en coma flotante desempaquetado y es
almacenado como una cadena.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 9
Tipos de Fecha
Date: tipo fecha, almacena una fecha. El rango esta entre el 1 de enero del 1001 al 31
de diciembre de 9999. El formato de almacenamiento queda de la forma: año-mes-
día(YYYY-MM-DD). El tamaño de almacenamiento es de 3 bytes.
Datetime: Es una combinación de fecha y hora, donde los valores están entre el 1
de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999
a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento queda de
la forma: año-mes-día horas:minutos:segundos.(YYY-MM-DD HH:MM:SS.fff) El
tamaño de almacenamiento es de 8 bytes.
Datetime2: igual a Datetime pero con mayor precisión para los segundos. El
formato de almacenamiento queda de la forma: año-mes-día
horas:minutos:segundos.(YYY-MM-DD HH:MM:SS. fffffff)
Datetimeoffset: valor contiene el año, mes, día, hora, minuto, segundo,
fracción de segundo, y el número de minutos antes o después de la hora
universal coordinada (UTC). La fracción se almacena a 6 decimales. El
formato de almacenamiento queda de la forma: año-mes-día
horas:minutos:segundos UTC.(YYY-MM-DD HH:MM:SS. fffffff ±HH:MM)
Smalldatetime: igual a Datetime pero con sin precisión para los segundos. El
formato de almacenamiento queda de la forma: año-mes-día
horas:minutos:segundos.(YYY-MM-DD HH:MM:SS)
Time: almacena una hora. El rango puede estar entre -838 horas, 59 minutos y 59
segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de la
forma: 'HH:MM:SS'. El tamaño de almacenamiento es de 3 bytes.
Date: tipo fecha, almacena una fecha. El rango esta entre el 1 de enero del
1001 al 31 de diciembre de 9999. El formato de almacenamiento queda de la
forma: año-mes-día. El tamaño de almacenamiento es de 3 bytes
DateTime: Es una combinación de fecha y hora, donde los valores están entre
el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de
diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de
almacenamiento queda de la forma: año-mes-día horas:minutos:segundo. El
tamaño de almacenamiento es de 8 bytes
TimeStamp: Es una combinación de fecha y hora y los valores están desde el
1 de enero de 1970 al año 2037. El tamaño de almacenamiento es de 4 bytes
Time: almacena una hora. El rango puede estar entre -838 horas, 59 minutos
y 59 segundos a 838, 59 minutos y 59 segundos. El formato de
almacenamiento es de la forma: 'HH:MM:SS'. El tamaño de almacenamiento
es de 3 bytes.
Year: almacena un año. El rango es desde el año 1901 al año 2155. El tamaño
de almacenamiento es de
1 bytes.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 10
Tipo de Cadena
Char [(n)]: Datos de caracteres no Unicode de longitud fija, con una longitud de n
bytes. n debe ser un valor entre 1 y 8.000. El tamaño de almacenamiento es de n
bytes.
Text: Datos no Unicode de longitud variable de la página de códigos del servidor y
con una longitud máxima de 2^31-1 (2.147.483.647) caracteres. Cuando la página de
códigos del servidor utiliza caracteres de doble byte, el almacenamiento sigue
siendo de 2.147.483.647 bytes. Dependiendo de la cadena de caracteres, el espacio
de almacenamiento puede ser inferior a 2.147.483.647 bytes
Varchar[(n|Max)]: Datos de caracteres no Unicode de longitud variable. n puede
ser una valor entre 1 y 8.000. Max indica que el tamaño de almacenamiento
máximo es de 2^31-1 bytes. El tamaño de almacenamiento es la longitud real de los
datos especificados + 2 bytes. Los datos especificados pueden tener una longitud de
0 caracteres.
NChar [(n)]: Datos de carácter Unicode de longitud fija, con n caracteres. n debe
estar comprendido entre 1 y 4.000. El tamaño de almacenamiento es dos veces n
bytes.
NText: datos Unicode de longitud variable con una longitud máxima de 2^31-1
(1.073.741.823) caracteres. El tamaño de almacenamiento, en bytes, es dos veces el
número de caracteres especificado.
NVarchar: Datos de caracteres Unicode de longitud variable. n puede ser una valor
entre 1 y 4.000. Max indica que el tamaño de almacenamiento máximo es de 2^31-1
bytes. El tamaño de almacenamiento en bytes es dos veces el número de caracteres
especificado + 2 bytes. Los datos especificados pueden tener una longitud de 0
caracteres.
Char(n): almacena una cadena de longitud fija y puede contener entre 0 y 255
caracteres. El tamaño de almacenamiento es de n bytes.
VarChar(n): almacena una cadena de longitud variable y puede contener
entre 0 y 255 caracteres. El tamaño de almacenamiento es de n+1 bytes.
TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres,
donde su tamaño de almacenamiento es de longitud + 1 bytes.
Blob y Text: texto con un máximo de 65535 caracteres. Su tamaño de
almacenamiento es de longitud + 2 bytes
MediumBlob y MediumText: texto con un máximo de 16.777.215 caracteres.
Su tamaño de almacenamiento es de longitud + 3 bytes
LongBlob y LongText: texto con un máximo de caracteres 4.294.967.295. Su
tamaño de almacenamiento es de longitud + 4 bytes Enum: campo que puede
tener un único valor de una lista que se especifica y admite hasta 65535
valores distintos. Set: un campo que puede contener cero, uno ó varios
valores de una lista, la cual puede tener un máximo de 64 valores.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 11
Binary [(n)]: Datos Binarios de longitud fija con una longitud de n bytes, donde n
es un valor que oscila entre 1 y 8.000. el tamaño de almacenamiento es de n bytes.
Image: Datos binarios de longitud variable desde 0 hasta 2^31-1 (2.147.483.647)
caracteres.
Varbinay: Datos binario de longitud variable. n puede ser una valor que oscila
entre 1 y 8.000. Max indica que el tamaño máximo de almacenamiento es de 2^31-1
bytes. El tamaño de almacenamiento es la longitud real de los datos especificados +
2 bytes. Los datos especificados pueden tener una longitud de 0 bytes.
Otros Tipos de Datos
Cursor: Un tipo de dato para la variables o para los parámetros de resultados de
los procedimientos almacenados que contiene una referencia a un cursor. Las
variables creadas con el tipo de datos cursor aceptan NULL.
Hierarchyid: El tipo de datos del sistema hierarchyid es de longitud variable. se
usa para representar la posición de una jerarquía. Una columna de tipo hierarchyid
no representa automáticamente una árbol.
Sql variant: Tipo de datos que almacena valores de varios tipos de datos admitidos
en SQL Server. Puede terner una longitud máxima de 8.016 bytes. Esto incluye la
información y el valor de tipo base. La longitud máxima del tipo base real es 8.000
bytes. Este no puede almacenar valores del tipo: varchar (Max), nVarchar (Max),
text, image, Sql variant, XML, nText, Timestamp, geography, geometry y tipos de
datos definido por el usuario.
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
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 12
como el conjunto de resultados de una función con valores de tabla.
Timestamp: Es un sinónimo del tipo de datos rowversion y está sujeto al
comportamiento de los sinónimos de tipo de datos. En las instrucciones DDL,
utilice rowversion en lugar de timestamp siempre que sea posible. El tamaño de
almacenamietno es de 8 bytes
Uniqueidentifier: Es un GUID de 16 bytes. Una columna o una variable local de
tipo de datos uniqueidentifier se puede inicializar en un valor de las siguientes
formas:
Mediante la función NEWID.
Mediante la conversión a partir de una constante de cadena con el formato
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, donde cada x es un dígito
hexadecimal en el intervalo 0-9 o a-f. por ejemplo, 6F9619FF-8B86-D011-
B42D-00C04FC964FF es una valor uniqueidentifier válido.
XML: Es el tipo de datos que almacena datos XML. Puede almacenar instancias
XML en una columna o variable de tipo XML. Para obtener más información.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 13
Proceso de Instalación y
Configuración de la Base de Datos
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 14
INSTALACIÓN Y CONFIGURACION DE MICROSOFT SQL SERVER 2008 R2
Ahora comenzaremos con un pasos a paso del proceso de instalación de SQL Server 2008 R2.
El instalador nos mostrará el siguiente mensaje, luego de lo cual hacemos click en OK para
continuar con la instalación.
Se nos abrirá el centro de Instalación de SQL Server. Nos dirigimos a la sección de Instalación y
seleccionamos la opción ―New installation or add features to an existing installation‖
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 15
En este punto el asistente realizara una revisión para identificar posibles problemas que eviten la
instalación de los archivos de soporte para la instalación de SQL Server. Si todas las pruebas
terminan correctamente, presionamos OK para continuar.
A continuación seleccionamos el Product Key de SQL Server. Como estamos en ambiente de
laboratorio, seleccionamos la evaluación Enterprise (valida por 180 dias).
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 16
A continuación aceptamos los términos de licencia y comenzamos la instalación de los archivos de
soporte de SQL Server.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 17
Al finalizar la instalación de los archivos de soporte de SQL Server, hacemos click en siguiente
para comenzar con el asistente de instalación de SQL Server 2008 R2.
El asistente analizará en caso de que existan problemas que eviten una instalación exitosa de SQL
Server.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 18
En caso de tener habilitado el Firewall de Windows nos aparecerá la siguiente alerta.
En este punto tenemos 3 opciones de instalación: SQL Server Feature Instalation que permite seleccionar los distintos roles de SQL Server
que se deseen instalar (Motor de BBDD, Analysis Services, Reporting Services, Integration Services, etc.)
Analysis Services with Sharepoint Integration, que instala Analysis Services como un
servicio compartido en una granja nueva o existente para proveer almacenamiento de datos
en memoria y procesamiento de una gran cantidad de datos en libros Excel. Incluye la
instalación del servicio Gemini.
All Features With Defaults, que instala todas las funciones usando los valores por defecto
para las cuentas de servicio.
Seleccionamos la primera opción, para poder seleccionar solo los componentes que deseamos
instalar.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 19
En nuestro caso instalaremos todos los componentes, exceptuando Reporting Service (este será
visto en un artículo posterior)
Una vez seleccionados los componentes y los directorios de instalación, ejecutamos las reglas de
instalación para determinar si el proceso de instalación será bloqueado o se completará
satisfactoriamente.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 20
Si todas las pruebas se ejecutan sin inconvenientes, en la siguiente ventana debemos indicar el
nombre de la instancia y el directorio donde se ésta se almacenará. En esta ventana además
podremos ver las instancias instaladas previamente. En nuestro caso seleccionamos la instancia
por Defecto y dejamos la ruta de instalación tal como está.
A continuación se nos indicará el espacio requerido para la instalación. Damos click en siguiente.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 21
A continuación indicamos las cuentas con las que se ejecutarán los servicios de SQL. Debido a que
esta instalación será utilizada más tarde en una instalación distribuida de Sharepoint Server, se
utilizan cuentas de dominio para la ejecución de los servicios.
Adicionalmente, debemos seleccionar la Collation que será utilizada por SQL Server, tanto para el
motor como para Analysis Services.
En nuestro caso seleccionaremos la Collation Latin1_General_100_CI_AS, que es la que se requiere
para la posterior instalación de Sharepoint Server.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 22
Para continuar con la instalación, se debe indicar la configuración del motor de Base de Datos. En
este punto, en primer lugar debemos seleccionar el modo de autenticación y los administradores
del motor de BBDD. En nuestro caso, inicialmente solo seleccionamos el usuario que estamos
utilizando para la instalación.
Siguiendo con la configuración, seleccionamos los directorios donde se almacenarán los archivos
de base de datos, los logs, los respaldos, etc. En nuestro caso dejamos todo por defecto.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 23
A continuación indicamos si se habilitará el FILESTREAM para el acceso de Transact-SQL. En
nuestro caso lo dejamos habilitado.
Para continuar con la instalación, se debe seleccionar los administradores de Analysis Services. En
nuestro caso, inicialmente solo seleccionamos el usuario que estamos utilizando para la instalación.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 24
Siguiendo con la configuración, seleccionamos los directorios donde se almacenarán los datos,
logs, respaldos y archivos temporales de Analysis Services. En nuestro caso dejamos todo por
defecto.
Para continuar, debemos ejecutar las reglas de Configuración para determinar cualquier conflicto
en la configuración seleccionada hasta ahora. Si todas las pruebas se completan exitosamente,
hacemos click en siguiente.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 25
Finalmente se nos muestra el resumen de la configuración seleccionada. Si todo está correcto
hacemos click en Install para comenzar la instalación de SQL Server.
Se realiza la instalación de SQL Server 2008 R2.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 26
Con esto se completa el proceso de instalación de SQL Server 2008 R2.
Para ver la instancia instalada, accedemos a Microsoft SQL Server Management Studio. Aqui
seleccionamos el tipo de servidor (en nuestro caso Database Engine), el nombre del servidor y la
instancia, y el tipo de autenticación.
Ahora podemos ver la instancia instalada, con lo cual se da por terminado el proceso de
instalación de SQL Server 2008 R2.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 27
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 28
INSTALACIÓN Y CONFIGURACION DE MYSQL SERVER Y MYSQL
WORBENCH
El MySQL Server está disponible en Windows, Linux y Mac OS X.
Para descargar esta aplicación solo basta con ir a la página oficial:
http://dev.mysql.com/downloads/mysql/
Seleccionamos nuestro Sistema Operativo (plataforma) y descargamos el archivo. Además
podremos descargar todos los productos de MySQL en un solo paquete si nuestro SO es Windows.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 29
Luego de descargarlo procedemos a instalarlo
Luego activamos la casilla de I accept the license terms y click en Next:
Luego Seleccionamos Full para instalar el MySql Server, MySql WorkBench y MySql Connectors.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 30
Seleccionamos la ruta de instalación y presionamos Next:
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 31
Aceptamos las condiciones de la ruta
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 32
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 33
Luego procedemos a configurar el servidor:
Development Machine: se trata de un equipo de desarrollo, y muchas otras aplicaciones se
instalarán en él. Una cantidad mínima de memoria será utilizada por MySQL.
Server Machine: varias aplicaciones de servidor se ejecutan en esta máquina. elija esta opción para
un servidor web de aplicaciones. MySQL tendrá el uso de memoria medio.
Dedicated Machine: esta máquina está dedicada a la ejecución de la base de datos MySQL Server.
Ningún otro servidor, como servidores web , se llevará a cabo. MySQL, hará uso de toda la
memoria disponible.
Ingresar la contraseña para el super usuario root luego presionar Next:
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 34
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 35
El MySQL Workbench está disponible en Windows, Linux y Mac OS X.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 36
Para descargar esta aplicación solo basta con ir a la página oficial:
http://dev.mysql.com/downloads/workbench/
Seleccionamos nuestro Sistema Operativo (plataforma) y descargamos el archivo. Además
podremos descargar todos los productos de MySQL en un solo paquete si nuestro SO es Windows.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 37
Luego de descargarlo procedemos a instalarlo
E inmediatamente se abrirá nuestro programa
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 38
Creación de Base de Datos
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 39
CREACION DE UNA BASE DE DATOS EN SQL SERVER 2008 R2
Para crear base de datos en MS SQL Server 2008 R2 debe de seguir los siguientes pasos:
CREACION DE UNA BASE DE DATOS EN MYSQL WORKBENCH
Para crear base de datos en MySQL Workbench debe de seguir los siguientes pasos:
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 40
Presentación del Caso Práctico A continuación presentaremos el caso a desarrollar en el curso de Base de Datos II.
Caso Práctico: Kiosco de Prensa ―EL ZIPIZAPE‖
Presentación.
Otilio se encontraba tranquilo en casa cuando sonó el teléfono. Se trataba de su amigo Pepe Bug.
Como siempre se trataría de organizar alguno de sus desatinos, o de algún encargo para
desarrollar una aplicación. Esta vez, por fortuna, se trataba de la segunda situación. Esto le
permitiría cobrar las horas trabajadas.
El asunto era sencillo, una cliente de Pepe, la Sra. Zara Gata, deseaba un sistema informático para
su kiosco de prensa, ―EL ZIPIZAPE‖. Ella había trabajado sola en el kiosco desde que lo abrió.
Ahora que la empresa funcionaba, quería poner a trabajar personas contratadas. El problema se
centraba en el control de las mercancías y el dinero de la caja. Desde hacía unos meses estaba
pensando en el asunto y ya se había decidido.
Así que Otilio miro su agenda, que por ciertos estos días estaba vacía, y acordó con Pepe una cita
en la empresa de este último, para reunirse con la Sra. Zara Gata. Pepe en este caso realizaría el rol
de comercial, por lo que se llevaría una comisión. Otra alternativa sería hacer de empresa
desarrolladora contratando los servicios de Otilio y facturando a la Sra. Zara, pero sus experiencias
previas le habían demostrado que eso era peligroso. Siempre se calculaban presupuestos inferiores
a los costes reales, por lo que los beneficios eran mínimos, y eso en el caso de no tener que hablar
de pérdidas.
La reunión de Otilio y Zara Gata.
Tras las presentaciones pertinentes en la sala de reuniones de Pepe, este salió a atender otros
asuntos. La transcripción de la conversación a partir de este momento fue la siguiente:
Otilio: ¿Entonces, que es exactamente lo que desea?
Zara: Pues mire, yo quiero trabajar menos horas por, una parte, y, por otra, que me ayuden
durante las horas en que trabajo.
Otilio: Pues no veo el problema, contrate a varios ayudantes y solucionado. Yo me dedico a los
sistemas de información, no a la selección de personal.
Zara: Bueno, si me deja terminar, quizás comprenda el problema.
Otilio: Perdone, continúe…
Zara: Pues vera, en la actualidad trabajo sola, en principio me fío de las facturas que me envían
los distribuidores y las pago. Otro asunto es la caja del kiosco, la llevo en una caja, es decir
la gente me paga, meto en caja lo que me entregan y saco el cambio. Como se dice, lo llevo
todo en la cabeza. Claro, si ha de entrar más gente, me gustaría que esto cambiara. Desearía
tener un listado de las ventas diarias, con el total de caja y lo que se ha vendido de cada
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 41
publicación. Además sería importante que a cada cliente se le diera un justificante de su
compra, con el total, el dinero entregado y el cambio que se devuelve. En fin, ya me
entiende, que no sea necesario tener que controlar a los empleados, aunque de momento
vendrá ―triful‖, mi prima, que es de confianza. Pero con el tiempo igual tengo que buscar
más gente.
Otilio: Voy entendiendo…
Zara: ¿Como que ―entendiendo‖? Eso es todo ¿No? ¿No puede hacer un programa de esos, con lo
que le he dicho?
Otilio: Me temo que tendremos que hablar más. Cuénteme, con pelos y señales, que es lo que hace
usted durante un día de principio a fin, por ejemplo ayer martes.
Zara: Pero: ¿Que es usted, un confesor, o un indiscreto?
Otilio: Ja, ja. Perdone me refiero sólo a aquellas tareas relacionadas con el funcionamiento de ―EL
ZIPIZAPE‖.
Zara: Pues mire llego al ZIPIZAPE, a las 7:00, y saco del baúl de los distribuidores el género
nuevo, no ponga esa cara. El baúl de los distribuidores es un cofre metálico cerrado con
llave, del que tenemos llave los distribuidores y yo. En él me dejan los periódicos y revistas
nuevas, junto a la guía de remisión. Como imagina a primera hora hay poca gente, de
modo que aprovecho y coloco el género en su sitio. Los albaranes los compruebo y los
guardo en la caja de caudales. Por la tarde, a última hora, retiro todo el género que vendrá
renovado a la mañana siguiente, y lo meto en el baúl de los distribuidores junto a la hoja de
devolución.
Otilio: ¿Que género es ese?
Zara: Pues mire, una revista como ―El Viernes‖, llega al kiosco el viernes por la mañana. Pues
bien, el jueves por la noche, retiro todos dos ejemplares de esa semana, los cuento, lo anoto
en la hoja de devolución y así con el resto de revistas que vendrán al día siguiente. Las
agrupo por distribuidores y hago un paquete para cada uno con la copia de la hoja de
devolución. Si de alguna publicación deseo que me cambien el número de ejemplares que
dejan, también anoto la nueva cantidad a dejar en depósito, junto a la razón de tal
modificación, las revistas son de ellos y puede que decidan enviarme esa cantidad u otra.
Otilio: ¿Cuándo cobran el material?
Zara: Una vez a la semana, cada distribuidora, envían la factura de la semana anterior. En ésta
aparecen las cantidades dejadas en depósito y retiradas de cada revista. Facturan por la
diferencia, pero me gustaría disponer de mi propia información, para contrastar las
facturas.
Otilio: Bien, y a lo largo del día: ¿qué ocurre?
Zara: Lo usual es que llegue un cliente, seleccione los periódicos y revistas que le interesan, yo
calculo el total y cobro al contado. Pero deseo que se imprima un comprobante, con los
títulos de las revistas, el número de edición, el precio, el total, el importe que entrega el
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 42
cliente y el cambio devuelto. Algunas veces los clientes devuelven alguna revista o
periódico por que al llegar a casa o al trabajo, ya los tenían.
Otilio: Si eso es todo, habrá que pensar en seleccionar un equipo y un entorno de desarrollo.
Zara: Bueno, actualmente ya tengo un PC, hace poco su amigo Pepe me hizo un programa para
enviar publicidad a los clientes más habituales. Le compre un Pentium y el Access.
Otilio: ¿Que hace el programa ese?
Zara: Pues tiene un registro de los clientes habituales y puedo modificar todos sus datos. Lo
importante es que cuando se lo pido, emite etiquetas de todos ellos, para enviar cartas con
publicidad.
Otilio: Vale, así que no tiene ninguna relación con las ventas…
Zara: Bueno, ahora que lo dice, se me ha olvidado comentarle que algunos clientes reservan
publicaciones. Actualmente, tengo un tablero con post-its y cuando llegan las novedades, si
alguna está en el tablero, paso el post-it a la revista en cuestión y la separo. Cuando llega el
cliente, se la cobro y si él lo pide guardo el post-it en el tablero para el próximo número.
Quisiera que este sistema llevase cuenta de estas cosas.
Otilio: ¿Le importaría que se hiciera un justificante por las compras con reserva y otro diferente
por las compras normales?
Zara: Por mi está bien, es más, los clientes lo prefieren así, pues muchas veces vienen a comprar y
la reserva es para la empresa, mientras que ellos se llevan cosas a nivel personal.
Otilio: ¿Hace ventas a crédito? No quiero sorpresas,…
Zara: No, nunca vendo a crédito, además, en todo caso si ocurre alguna situación anormal,
prefiero estar al tanto de ella. El programa no quiero que permita ventas a crédito….
Otilio: Bueno, pues ahora ya tengo información para trabajar. En un par de días le llamare y le
explicare como funcionara la aplicación y le pediré que me aclare posibles dudas.
Zara: Hay que despiste, aquí tiene un ejemplar de la guía de remisión de entrega, devolución de
mercancías, los justificantes de ventas y devolución de otro kiosco que me parecen
apropiados.
Otilio: Bueno, encantado de haberla conocido. Esta es mi tarjeta. No dude en llamarme, lo antes
posible, si piensa que se le ha olvidado algo.
Zara: De acuerdo, para lo que quiera, ésta es mi tarjeta, la dirección de bajo es la del kiosco, pero
aquí detrás le apunto mi número de teléfono, por si tiene alguna duda. Si se pasa por el
kiosco le atenderé encantada, además si ya está mi prima, nos tomaremos un café.
DOCUMENTOS DEL CASO DE ESTUDIO.
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 43
A continuación se muestran una serie de documentos que aporto la cliente, así como algunos
formatos de pantalla ideados por Otilio.
LA VOLUBLE - distribución de prensa
Guía de Remisión
Titulo publicación Número
Publicación
Cantidad
en
Deposito
LA VOLUBLE -
distribución de prensa
Devolución Mercancías
Titulo publicación Número
Public.
Cantida
d
Retirada
Próx.
seman
a
Razón
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 44
Kiosco ―EL ZIPIZAPE‖
Nº. A-46000000 IGV inc.
Z9/Z9/9999 - Núm. venta:
999
Descripción precio
xxxxxxxxxxxxxxxxxxxxxxxxx 99.999.-
Total venta:…………………..
Entregado:…………………
Devolución:…………………..
Kiosco ―EL ZIPIZAPE‖
Nº A-46000000 IGV inc.
DEVOLUCIÓN de venta: 999
Z9/Z9/9999
Descripción precio
xxxxxxxxxxxxxxxxxxxxxxxxx 99.999.-
Total a reintegrar…………..
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 45
Ficha de Distribuidora Nombre Distribuidoras:___________________ Tel.:_____________ Dirección:_______________________________________________
Publicaciones:
El Viernes.
…
Ficha Publicación Nombre Publicación:____________________________________ Periodicidad:_________________ Distribuidor:_________________ Editorial:_______________
Número
Deposito
Devueltos
Vendidos
Número
Deposito
Devueltos
Vendidos
Cierre Ventas “EL ZIPIZAPE”
Ventas diarias por Publicación “EL ZIPIZAPE”
Día:99/99/9999 Día:99/99/9999
Núm.operac. Dv. Importe Publicación Núm. Cantidad
Total ventas…….
Reservas de clientes Nombre cliente: XXXXXXXXXXXXXXXXXXX Código: 99999
Publicación Número
…
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 46
MODELO RELACIONAL DEL CASO DE ESTUDIO
Base de Datos II Ingeniería de Sistemas
Ing. Victor Hugo Tapia Jacinto Pag. 47
DATOS DEL CASO DE ESTUDIO