lunes, 1 de junio de 2015

DBMS MS SQL Server y PostgresSQL


         
        DBMS MS SQL Server y PostgresSQL




Database management system (DBMS),  es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos, esta compuesto por:
DDL: Lenguaje de Definición de Datos
DML:Lenguaje de Manipulación de Datos
SQL: Lenguaje de Consulta.

 PostgreSQL : es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales.

Servicios del DBMS:


Un sistema manejador de base de datos (DBMS) es un sistema software generalizado para la manipulación de bases de datos. 



Especificación de la edición del DBMS en la que viene incluido el servicio:

Permite escoger entre múltiples motores de almacenamiento para cada tabla. En MySQL 5.0 éstos debían añadirse en tiempo de compilación, a partir de MySQL 5.1 se pueden añadir dinámicamente en tiempo de ejecución:

* Los hay nativos como MyISAM, Falcon, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example.

*Desarrollados por partners como solidDB, NitroEDB, ScaleDB, TokuDB, Infobright (antes Brighthouse), Kickfire, XtraDB, IBM DB2. InnoDB Estuvo desarrollado así pero ahora pertenece también a Oracle.Desarrollados por la comunidad como memcache, httpd, PBXT y Revision.

*Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.


Bases de datos del sistema

Bases de datos del sistema y bases de datos que se cargan por defecto en la instalación del DBMS
Descripción de cada una de las bases de datos (funcionalidad o uso)

Master:  Almacena información de configuración de la instancia de SQL Server, como puede ser la definición de los inicios de sesión (Logins), de las bases de datos, de los errores del sistema, etc.
Model: Principalmente tiene la función de dar soporte al Agente de SQL Server, de tal modo que almacena la definición y planificación de JOBs, Planes de Mantenimiento, etc.
Msdb:Esta base de datos sirve de modelo. Siempre que se crea una nueva base de datos (CREATE DATABASE), se realiza una copia de la base de datos MODEL, heredando de ésta su configuración y contenido, salvo que se especifique lo contrario. Por ejemplo, es posible establecer el Modo de Recuperación o Modo de Registro de MODEL en SIMPLE (o sencillo), con el fin de evitar que al crear una base de datos por defecto se utilice el Modo de Recuperación FULL (completo).

TempdbAlmacena tanto los objetos temporales (tablas temporales, procedimientos almacenados temporales, etc.)

Proceso de instalación

Requerimientos de sw y hw mínimos


En las ediciones de 32 o de 64 bits de SQL Server 2008 se aplica lo siguiente:

Microsoft recomienda ejecutar SQL Server 2008 en equipos con el formato de archivo NTFS. Para las actualizaciones a SQL Server 2008, los sistemas de archivos FAT32 no se bloquearán.
La instalación de SQL Server bloqueará las instalaciones en unidades de disco de sólo lectura o comprimidas.
SQL Server no instala el kit de desarrollo de software (SDK) de .NET Framework 3.5. Sin embargo, el SDK contiene herramientas que son útiles cuando se usa .NET Framework para desarrollo de SQL Server.
Requisitos de reinicio de equipos durante la instalación de SQL Server: la instalación de .NET Framework requiere un reinicio del sistema operativo. Si la instalación de Windows Installer también requiere un reinicio, el programa de instalación esperará hasta que se hayan instalado los componentes de .NET Framework y Windows Installer antes de reiniciar
Descripción de proceso y captura de imágenes de instalación.

Proceso de Instalación

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”
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).
A continuación aceptamos los términos de licencia y comenzamos la instalación de los archivos de soporte de SQL Server.
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.
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.
En nuestro caso instalaremos todos los componentes, exceptuando Reporting Service (este será vistos 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.
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.
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.
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.
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.
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.
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.
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.


       Tipos numéricos: 

Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no. 

TinyInt: es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 

Bit ó Bool: un número entero que puede ser 0 ó 1 

SmallInt: número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535. 

MediumInt: número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. 

Integer, Int: número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.

BigInt: número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. 

Float: número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38. 

xReal, Double: número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308 

Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena como una cadena 
Tipo de Campo
Tamaño de Almacenamiento
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0, M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes if D > 0, M+1 bytes if D = 0

2.  Tipos fecha: 

A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. 
Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia 

DateTime: Combinación de fecha y hora. El rango de valores va desde 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 es de año-mes-dia horas:minutos:segundos 

TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo: 
Tamaño
Formato
14
AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
12
AñoMesDiaHoraMinutoSegundo aammddhhmmss
8
AñoMesDia aaaammdd
6
AñoMesDia aammdd
4
AñoMes aamm
2
Año aa


Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' 

Year: almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos. 
Tipo de Campo
Tamaño de Almacenamiento
DATE
3 bytes
DATETIME
8 bytes
TIMESTAMP
4 bytes
TIME
3 bytes
YEAR
1 byte


3.  Tipos de cadena: 

Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres. 

VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres. 

Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) 

La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta. 

Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. 

TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres. 

Blob y Text: un texto con un máximo de 65535 caracteres. 

MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres. 

LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb. 

Enum: campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos 

Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores. 
Tipo de campo
Tamaño de Almacenamiento
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB, TINYTEXT
Longitud+1 bytes
BLOB, TEXT
Longitud +2 bytes
MEDIUMBLOB, MEDIUMTEXT
Longitud +3 bytes
LONGBLOB, LONGTEXT
Longitud +4 bytes
ENUM('value1','value2',...)
1 ó dos bytes dependiendo del número de valores
SET('value1','value2',...)
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores


Diferencia de almacenamiento entre los tipos Char y VarChar 
Valor
CHAR(4)
Almace
namiento
VARCHAR(4)
Almace
namiento
''
''
4 bytes
"
1 byte
'ab'
'ab '
4 bytes
'ab'
3 bytes
'abcd'
'abcd'
4 bytes
'abcd'

'abcdefgh'
'abcd'
4 bytes
'abcd'
5 bytes






Bibliografía

1.       [1]Hernandez, M. J. (2013). Database Design for Mere Mortals®: A Hands-on Guide to Relational Database Design (3rd ed.). Ann Arbor, Michigan, Estados Unidos de América: Addison-Wesley Professional.

[2]Singh, S. K. (2011). Database Systems: Concepts, Design and Applications (2nd ed.). Noida, Uttar Pradesh, India: Pearson Education India.
 Recuperado el 1 de Junio de 2015

2.       [3http://mysql.softonic.com/ Recuperado el 1 de Junio de 2015
3.       [4] http://technet.microsoft.com/es-es/library/ms143506(v=sql.105).aspx.  Recuperado el 1 de Junio de 2015
4.       [5]http://patriciocerda.com/2010/05/sql-2008-r2-instalando-sql-server-2008-r2.html Recuperado el 1 de Junio de 2015

















No hay comentarios:

Publicar un comentario