base de datos ii

47
BASE DE DATOS II BASE DE DATOS II Ing Victor Hugo Tapia Jacinto [email protected] © 2015

Upload: vhtapia

Post on 14-Dec-2015

88 views

Category:

Documents


5 download

DESCRIPTION

Base de Datos IIII

TRANSCRIPT

Page 1: Base de Datos II

B

ASE

DE

DA

TO

S I

I

BASE DE DATOS II Ing Victor Hugo Tapia Jacinto

[email protected] © 2015

Page 2: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 2

Sesión 01

Definiciones Básicas

Page 3: Base de Datos II

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.

Page 4: Base de Datos II

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

Page 5: Base de Datos II

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

Page 6: Base de Datos II

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

Page 7: Base de Datos II

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

Page 8: Base de Datos II

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.

Page 9: Base de Datos II

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.

Page 10: Base de Datos II

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.

Page 11: Base de Datos II

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

Page 12: Base de Datos II

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.

Page 13: Base de Datos II

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

Page 14: Base de Datos II

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‖

Page 15: Base de Datos II

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).

Page 16: Base de Datos II

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.

Page 17: Base de Datos II

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.

Page 18: Base de Datos II

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.

Page 19: Base de Datos II

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.

Page 20: Base de Datos II

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.

Page 21: Base de Datos II

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.

Page 22: Base de Datos II

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.

Page 23: Base de Datos II

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.

Page 24: Base de Datos II

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.

Page 25: Base de Datos II

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.

Page 26: Base de Datos II

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.

Page 27: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 27

Page 28: Base de Datos II

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.

Page 29: Base de Datos II

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.

Page 30: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 30

Seleccionamos la ruta de instalación y presionamos Next:

Page 31: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 31

Aceptamos las condiciones de la ruta

Page 32: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 32

Page 33: Base de Datos II

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:

Page 34: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 34

Page 35: Base de Datos II

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.

Page 36: Base de Datos II

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.

Page 37: Base de Datos II

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

Page 38: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 38

Creación de Base de Datos

Page 39: Base de Datos II

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:

Page 40: Base de Datos II

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

Page 41: Base de Datos II

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

Page 42: Base de Datos II

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.

Page 43: Base de Datos II

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

Page 44: Base de Datos II

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…………..

Page 45: Base de Datos II

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

Page 46: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 46

MODELO RELACIONAL DEL CASO DE ESTUDIO

Page 47: Base de Datos II

Base de Datos II Ingeniería de Sistemas

Ing. Victor Hugo Tapia Jacinto Pag. 47

DATOS DEL CASO DE ESTUDIO