Módulo II: Introducción



Documentos relacionados
ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

2- Creación de tablas y manejos de datos.

Creación y Administración de Bases de Datos

Administración y programación de Bases de Datos con SQL Server 2005

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Creación de tipos de datos y tablas

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Guía de Laboratorio Base de Datos I.

Base de datos relacional

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

Administración de Ficheros de Bases de Datos

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA

Microsoft SQL Server Conceptos.

Bases de datos y tablas

A.1. Definiciones de datos en SQL

Recuperacion de Desastre en SQL Server Mejoras

Bases de Datos Relacionales

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

Toda base de datos relacional se basa en dos objetos

Universidad Nacional de Costa Rica Administración de Bases de Datos

Microsoft SQL Server 2005

MANUAL COPIAS DE SEGURIDAD

Consultas con combinaciones

Objetos de la Base de Datos

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Arquitectura de sistema de alta disponibilidad

CURSO DE SQL SERVER 2005

ADMINISTRACIÓN DE BASE DE DATOS

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Tema: Creacion de una base de datos utilizando sintaxis Sql.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

- Bases de Datos - - Diseño Físico - Luis D. García

Base de datos I Facultad de Ingeniería. Escuela de computación.

Asignación de Procesadores

Acronis License Server. Guía del usuario

Instantáneas o Shadow Copy

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Implementación n de Base de Datos con Microsoft SQL Server Ing. Martín Manuel Leiva Castillo Ing. Jorge Martín Rodríguez Castro

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

1

III. ADMINISTRACIÓN DE ORACLE.

Bases de Datos 3º Informática de Sistemas

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Práctica A: Creación de tipos de datos y tablas

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

Soporte y mantenimiento de base de datos y aplicativos

Curso Online de Microsoft

Novedades en Q-flow 3.02

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Base de Datos Práctica 1.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Tipos de datos de campo disponibles en Access (MDB)

Utilidades de la base de datos

Tablas y Campos Nuevos

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Instalación y configuración de Windows SharePoint Services (WSS) 2003

Comisión Nacional de Bancos y Seguros

Los puntos opcionales deben su naturaleza a la configuración actual de Windows en la computadora host en cuestión.

CI Politécnico Estella

Procedimientos para agrupar y resumir datos

Instituto Profesional DuocUC Escuela de Ingeniería Control File

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Formato para prácticas de laboratorio

Structured Query Language. Práctica

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

MS_20462 Administering Microsoft SQL Server Databases

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

Estructura de Bases de datos. Leonardo Víquez Acuña

10775 Administering Microsoft SQL Server 2012 Databases

Oracle 12c DISEÑO Y PROGRAMACIÓN

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Curso de PHP con MySQL Gratis

Trabajos de Ampliación. Bases de datos NoSQL.

Sistema de Recuperación. Carlos A. Olarte BDII

* Size es el tamaño inicial y Filegrowth es el incremento * El size del Primary debe ser 3 veces mayor que el Log necesariamente

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Introducción a las redes de computadores

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Formas de llevar a cabo un backup de una base de datos MySQL

HP Backup and Recovery Manager

Implementación de funciones definidas por el usuario

T12 Vistas y tablas temporales

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Descripción. Este Software cumple los siguientes hitos:

Restricciones (constraints) FOREIGN KEY

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

LOG SHIPPING AND DATABASE MIRROR

2. ESTUDIO DE INDICES

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

Transcripción:

Módulo II: Introducción Bases de Datos Trabajo con un SGBDR Creación de Bases de Datos Maximiliano Odstrcil - 1

Bases de Datos Tipos de Bases de Datos Objetos de Bases de Datos Maximiliano Odstrcil - 2

Tipos de Bases de Datos Bases de Datos del Sistema master model tempdb msdb distribution pubs northwind usuario1 Las Las BD BD del del sistema almacenan información del del SGBDR (NO (NO BORRAR) Bases de Datos de Usuario Son Son las las BD BD de de producción. El El SGBDR puede manejar muchas de de éstas. Maximiliano Odstrcil - 3

Objetos de Bases de Datos (1) PK Clustered Index Anderson Anderson Barr... FK Stored Procedure UpdatePhone Trigger EmpNum LastName FirstName CtryCode Extension LastMod integer longstring varchar(20) char(2) char(6) longstring 10191 Labrie Angela FR x19891 \HR\KarlD 10192 Labrie Eva FR x19433 \HR\KarlD 10202 Martin Jose SP x21467 \HR\AmyL EmployeePhoneView SELECT lastname, firstname, extension FROM employee Check x##### Maximiliano Odstrcil - 4

Objetos de Bases de Datos (2) Tablas: colección de filas con la misma cantidad de columnas. Tipos de Datos: valores permitidos para cada columna. Restricciones (Constraints): reglas que rigen los valores permitidos para las columnas. Proporcionan el mecanismo de integridad de datos. Valores por defecto: valores que toman las columnas cuando no se proporciona alguno. Maximiliano Odstrcil - 5

Objetos de Bases de Datos (3) Reglas: información que define los valores para las columnas. Índices: estructura de almacenamiento que provee un acceso rápido a los datos y fuerza la integridad de los mismos. Vistas: forma de ver los datos de una o más tablas. Maximiliano Odstrcil - 6

Objetos de Bases de Datos (4) Procedimientos Almacenados: colección de sentencias SQL, con un nombre, que se ejecutan como un todo. Admiten parámetros de entrada y/o salida. Desencadenadores (Triggers): procedimientos almacenados que se ejecutan automáticamente después de producida una acción. Maximiliano Odstrcil - 7

Objetos de Bases de Datos (5) Formas para referenciar los objetos: Nombres completos (absolutos) Nombres parciales (relativos) Maximiliano Odstrcil - 8

Objetos de Bases de Datos (6) Nombres completos (absolutos): En SQL Server incluye 4 identificadores: nombre del servidor, nombre de la BD, nombre del dueño y nombre del objeto. Ej: server1.ventas.dbo.facturas Cada objeto creado en SQL Server tiene un nombre único. Maximiliano Odstrcil - 9

Objetos de Bases de Datos (7) Nombres parciales (relativos): No siempre hay que especificar el nombre completo: se pueden emplear nombres relativos. Si no se especifica el servidor, se asume el servidor al cual se realizó la conexión actualmente. Si no se especifica la base de datos, se asume la actual. Si no se especifica el dueño, se asume el usuario actual. Maximiliano Odstrcil - 10

Objetos de Bases de Datos (8) En MySQL también existen las 2 formas de referenciar objetos: Nombres absolutos: bd.tabla.columna Nombres relativos: tabla.columna o columna Maximiliano Odstrcil - 11

Trabajo con un SGBDR Diseño de aplicaciones Implementación de BDs Administración de BDs Maximiliano Odstrcil - 12

Diseño de aplicaciones (1) Intelligent Intelligent Server Server (2 (2 Capas) Capas) Intelligent Intelligent Client Client (2 (2 Capas) Capas) N Capas Capas Internet Internet Presentación Browser Cliente Presentación Presentación Negocio Negocio Negocio Presentación Negocio Datos Datos Datos Datos Maximiliano Odstrcil - 13

Diseño de aplicaciones (2) Se requiere: Conocimiento de las funciones de negocio que se quieren modelar Conocimiento de los requisitos de estas funciones. Una buena BD proviene de un buen diseño. Maximiliano Odstrcil - 14

Diseño de aplicaciones (3) Las diferentes arquitecturas para implementar un modelo C/S presentan las siguientes capas: Presentación: lógica para presentar los datos a los usuarios (lógica de interfaz). Casi siempre es implementada en el cliente. Negocio: lógica de la aplicación y reglas de negocio. El SGBDR puede estar involucrado en esta capa. Datos: definición de la BD, integridad, procedimientos almacenados y cualquier otra cosa relacionada a los datos. El SGBDR se involucra estrechamente con esta capa. Maximiliano Odstrcil - 15

Diseño de aplicaciones (4) Las opciones de arquitectura típicas son: Intelligent Client (2 Capas): la mayoría de los procesos ocurre en el cliente con los datos residiendo en el servidor. La performance es mala por el tráfico en la red. Intelligent Server (2 Capas): la mayoría de los procesos ocurre en el servidor con la lógica de interfaz en el cliente. La lógica de negocios es implementada casi por completo en la BD. Maximiliano Odstrcil - 16

Diseño de aplicaciones (5) Las opciones de arquitectura típicas son: N Capas: el procesamiento es dividido en un servidor de BD, uno o varios servidores de aplicación y los clientes. Es complejo pero muy escalable. Internet: el proceso es dividido en tres capas con los servicios de negocio y de presentación residiendo en un servidor web, y los clientes usando simples browsers. Maximiliano Odstrcil - 17

Implementación de BDs (1) Implementar una base de datos significa: 1) Diseñar la BD: para que use el hardware eficientemente y permita el futuro crecimiento, identificando y modelando los objetos de BD y la lógica de la aplicación, la información de cada objeto y sus relaciones. 2) Crear la BD y sus objetos: incluyendo tablas, integridad de datos, entrada de datos, procedimientos almacenados, vistas, índices apropiados y seguridad. Maximiliano Odstrcil - 18

Implementación de BDs (2) Implementar una base de datos significa: 3) Probar y poner a punto la aplicación y la BD: debe hacer las tareas de forma rápida y correcta. Junto a un buen diseño, correcto uso de índices y RAID se consigue un buen rendimiento. 4) Planear el desarrollo: incluye analizar la carga de trabajo con el sistema en producción para recomendar una óptima configuración de índices. Maximiliano Odstrcil - 19

Implementación de BDs (3) Implementar una base de datos significa: 5) Administrar la aplicación: incluye configurar los servidores y clientes, monitorizar la performance en todo momento, gestionar los trabajos, alertas y operadores, manejar la seguridad y las copias de respaldo. Maximiliano Odstrcil - 20

Administración de BDs (1) Administrar una BD involucra: Instalar y configurar el SGBDR Establecer la seguridad de la red Construir las BDs: Reservar espacio en disco. Crear trabajos automatizados. Maximiliano Odstrcil - 21

Administración de BDs (2) Administrar una BD involucra: Manejar las actividades del día a día: Importación y exportación de datos. Copias de respaldo y restauraciones. Monitorizar y poner a punto la BD. Automatizar las actividades descriptas arriba. Maximiliano Odstrcil - 22

Creación de Bases de Datos Almacenamiento y Transacciones Creación de Bases de Datos Modificación de Bases de Datos Creación de Tipos de datos y Tablas Planificación de la capacidad Maximiliano Odstrcil - 23

Almacenamiento y Transacciones (1) Transacción: unidad de trabajo en una BD. Atomicidad. Se completan todas las operaciones de la transacción, o ninguna. Consistencia. Una transacción siempre deja los datos en estado consistente. Aislamiento: Cualquier otra actividad concurrente con la transacción no tiene efecto sobre esta última. Durabilidad: Cuando se ejecuta una transacción, sus resultados se guardan. Maximiliano Odstrcil - 24

Almacenamiento y Transacciones (2) Tanto SQL Server como MySQL implementan las características de una transacción mediante un registro de transacciones. Cada SGBDR implementa este registro de transacciones de manera diferente. Maximiliano Odstrcil - 25

Almacenamiento y Transacciones (3) Funcionamiento del registro de transacciones (RT) en SQL Server: 1. Una aplicación envía una modificación de datos (inserción, borrado o modificación). 2. Cuando se ejecuta la modificación, las páginas de datos afectadas son cargadas desde el disco a la memoria (buffer cache), si es que no fueron cargadas ya previamente por otra consulta. Maximiliano Odstrcil - 26

Almacenamiento y Transacciones (3) Funcionamiento del registro de transacciones (RT) en SQL Server: 3. Cada modificación de datos es grabada en el registro de transacciones mientras se realiza. El cambio siempre se guarda en el registro y se escribe en el disco antes que el cambio sea hecho en la base de datos. 4. El proceso de checkpoint escribe todas las transacciones procesadas y completas a la BD en el disco. Esto se hace secuencial y continuamente. Maximiliano Odstrcil - 27

Almacenamiento y Transacciones (4) Si el sistema falla, el proceso de recuperación automático usa el registro para completar una transacción completa o bien retrotraerla si es que quedó incompleta. En general, si el disco duro de la computadora tiene un cache de disco en la controladora, conviene deshabilitarla pues puede causar errores en la integridad de los datos. Maximiliano Odstrcil - 28

Almacenamiento y Transacciones (5) En el caso de MySQL existen 2 registros de transacciones: Registro para rehacer: para aplicar los cambios que se hicieron en memoria y todavía no se escribieron en los registros de la tabla (archivo con los datos de la tabla). Registro para deshacer: para deshacer los cambios realizados por una transacción incompleta. Maximiliano Odstrcil - 29

Almacenamiento y Transacciones (6) En SQL Server, todas las BD tienen: Un archivo de datos primario (.mdf) Uno o más archivos del registro de transacciones (.ldf) Opcionalmente, archivos de datos secundarios (.ndf) Estos archivos tienen un nombre físico (dado por el file system) y un nombre lógico usado por SQL Server. Maximiliano Odstrcil - 30

Almacenamiento y Transacciones (7) BaseDatos Datos (archivo).mdf o.ndf.ndf Log (archivo).ldf.ldf Tablas,Índices Extent (8 páginas contiguas de 8KB) Datos Máx. tamaño fila = 8060 bytes Página (8 KB) Maximiliano Odstrcil - 31

Almacenamiento y Transacciones (8) Los datos son almacenados en bloques de 8KB contiguos en el disco llamados páginas (en 1MB se pueden tener 128 páginas). Las filas de las tablas no pueden compartir páginas (el máximo tamaño de una fila es aproximadamente 8060 bytes). Maximiliano Odstrcil - 32

Almacenamiento y Transacciones (9) Las tablas y los índices se almacenan en bloques de 8 páginas (64KB) llamados extents (en 1MB se pueden tener 16 extents). Las tablas pequeñas comparten extents. Maximiliano Odstrcil - 33

Almacenamiento y Transacciones (10) En SQL Server, por defecto, el tamaño de un registro de transacciones es un 25% del tamaño de los datos, y puede ajustarse para mejorar rendimiento. Maximiliano Odstrcil - 34

Creación de Bases de Datos (1) Se puede crear una BD usando algún asistente o mediante la sentencia CREATE DATABASE. En SQL Server, crear una BD requiere: El nombre (lógico) El tamaño Los archivos donde residirá (físico) Maximiliano Odstrcil - 35

Creación de Bases de Datos (2) CREATE CREATE DATABASE DATABASE sample sample ON ON PRIMARY PRIMARY ( NAME=sample_data, FILENAME='c:\mssql7\data\sample.mdf', SIZE=10MB, SIZE=10MB, MAXSIZE=15MB, MAXSIZE=15MB, FILEGROWTH=20%) FILEGROWTH=20%) LOG LOG ON ON ( NAME=sample_log, FILENAME='c:\mssql7\data\sample.ldf', SIZE=3MB, SIZE=3MB, MAXSIZE=5MB, MAXSIZE=5MB, FILEGROWTH=1MB) FILEGROWTH=1MB) Cada vez que se crea, modifica o borra una BD, es conveniente realizar una copia de seguridad de la BD master. Maximiliano Odstrcil - 36

Creación de Bases de Datos (3) PRIMARY: especifica los archivos en el grupo de archivos primario. Una BD solo puede tener un grupo de archivos primario. La extensión de archivo recomendada en.mdf. Si es omitido, el primer archivo listado pasa a ser el archivo primario. NAME: nombre lógico del archivo. FILENAME: el nombre físico (completo) del archivo para el sistema operativo. Debe ser local al servidor. Maximiliano Odstrcil - 37

Creación de Bases de Datos (4) SIZE: tamaño de los archivos de datos y del registro. Se puede especificar el tamaño en MB (por defecto) o en KB. El tamaño mínimo es de 512 KB para ambos archivos. El tamaño especificado para el archivo primario de datos debe ser más grande que la BD model. MAXSIZE: tamaño máximo al que puede crecer un archivo. Se lo puede especificar en MB o KB. Si no se lo especifica se habla de un crecimiento sin restricciones (hasta que se llene el disco). Maximiliano Odstrcil - 38

Creación de Bases de Datos (5) FILEGROWTH: incremento de crecimiento del archivo. Este valor no debe exceder al de MAXSIZE. Un valor de 0 indica sin crecimiento. El valor puede ser especificado en MB, KB o porcentajes. El valor por defecto es fijado en un 10% y el mínimo, de 64 KB (1 extent). Maximiliano Odstrcil - 39

Creación de Bases de Datos (6) En el caso de MySQL, para crear una BD se debe especificar su nombre: CREATE DATABASE Prueba Maximiliano Odstrcil - 40

Creación de Bases de Datos (7) Después de crear una BD, se pueden cambiar sus opciones usando un asistente o mediante algún comando. Algunas opciones (SQL Server): dbo user only: limitado al dbo solo. Se la usa en desarrollo. read only: para lectura únicamente (Data Warehousing). autoshrink: determina si los archivos de BD reducen su tamaño automáticamente. Maximiliano Odstrcil - 41

Modificación de Bases de Datos Crecimiento de los archivos Expansión del registro de transacciones Reducción de archivos o de la BD Eliminación de BDs Maximiliano Odstrcil - 42

Crecimiento de los archivos (1) Cuando los archivos crecen, o las modificaciones de datos se incrementan, surge la necesidad de aumentar el tamaño de los archivos de datos o del registro. En el caso de SQL Server, se puede hacer mediante un asistente o con la sentencia ALTER DATABASE (desde la BD master). Maximiliano Odstrcil - 43

Crecimiento de los archivos (2) Se puede controlar el tamaño de la BD: Configurando el crecimiento automático de los archivos: de esta forma se reducen las tareas de administración. Incrementando manualmente el tamaño máximo de los archivos: se puede incrementar el tamaño de los archivos sin que estos crezcan automáticamente. Aumentando manualmente archivos secundarios: se pueden crear archivos secundarios en diferentes discos para aumentar el tamaño. Esto no debe usarse si se tienen sistemas de almacenamiento con RAID. Maximiliano Odstrcil - 44

Crecimiento de los archivos (3) 7 MB 3 MB ALTER ALTER DATABASE sample MODIFY FILE FILE ( NAME NAME = 'sample_log', SIZE SIZE = 10MB) 10MB) GO GO ALTER ALTER DATABASE sample ADD ADD FILE FILE (NAME (NAME = sample_data2, FILENAME='c:\mssql7\data\sample2.ndf', SIZE=10MB, MAXSIZE=20MB) GO GO Maximiliano Odstrcil - 45

Expansión del registro de transacciones (1) Cuando crece la BD o la actividad de modificación de datos, se debe expandir el registro de transacciones (se debe monitorizar el RT para encontrar su tamaño óptimo). Si el registro de transacciones se llena, SQL Server no puede guardar las transacciones y las mismas no se procesan, quedando la BD sin actividad. Maximiliano Odstrcil - 46

Expansión del registro de transacciones (2) En SQL Server existen herramientas para monitorizar el RT: el Administrador Corporativo, Management Studio, Performance Monitor, etc. Se puede expandir el RT usando un asistente o mediante la sentencia ALTER DATABASE. Maximiliano Odstrcil - 47

Expansión del registro de transacciones (3) Situaciones que producen gran actividad en el RT: Guardar información en una tabla que contiene índices. Transacciones masivas (INSERT, UPDATE y DELETE) que conducen a la modificación de muchas filas en una sola sentencia. Agregar o modificar datos de tipo text o image con la opción WITH LOG. Maximiliano Odstrcil - 48

Reducción de archivos o de la BD (1) Cuando hay mucho espacio reservado, o bien el espacio de datos decrece, conviene reducir la BD o los archivos de la misma. En SQL Server se puede hacerlo usando un asistente o mediante la sentencia DBCC SHRINKDATABASE. Maximiliano Odstrcil - 49

Reducción de archivos o de la BD (2) En SQL Server se puede reducir un archivo de datos de la BD mediante la sentencia DBCC SHRINKFILE. Se puede establecer una opción para que la BD se reduzca automáticamente (se debe hacer antes un respaldo). Maximiliano Odstrcil - 50

Eliminación de BDs (1) Se puede borrar una BD: Mediante un asistente. Mediante la sentencia DROP DATABASE. DROP DATABASE northwind, pubs Maximiliano Odstrcil - 51

Eliminación de BDs (2) No se puede eliminar una BD cuando: Está siendo restaurada. Un usuario está conectada a ella. Se está publicando como parte de una replicación. Maximiliano Odstrcil - 52

Creación de Tipos de datos y Tablas Tipos de datos del sistema Tipos de datos de usuario Creación y borrado de tablas Agregado o borrado de columnas Generación de valores de columnas Maximiliano Odstrcil - 53

Tipos de datos del sistema (1) SQL Server y MySQL proveen diferentes tipos de datos. La tabla muestra los tipos para SQL Server: Tipo de Datos Sistema ANSI Nº Bytes Binary binary [(n)] - 0-8000 varbinary[(n)] binary VARYING [(n)] Character char [(n)] character [(n)] 0-8000 varchar [(n)] char VARYING [(n)] Unicode character nchar [(n)] - 0-8000 nvarchar [(n)] - 4000 carac. Date and Time datetime - 8 smalldatetime - 4 Maximiliano Odstrcil - 54

Tipos de datos del sistema (2) Tipo de Datos Sistema ANSI Nº Bytes Exact Numeric decimal [p,s] dec 2-17 Approximate numeric numeric [p,s] - float [(n)] double precision 8 real float [(n)] 4 Global identifier uniqueidentifier - 16 Integer int integer 4 smallint,tinyint - 2,1 Monetary money - 8 smallmoney - 4 Text and Image text, image - 0-2 GB Unicode Text ntext - 0-2 GB Maximiliano Odstrcil - 55

Tipos de datos de usuario (1) Los tipos de datos definidos por el usuario están basados en los tipos de datos del sistema (permiten refinarlos y hacerlos más específicos). Creación: con sp_addtype tipo, tdsistema, nulo EXEC sp_addtype isbn, 'smallint, 'NOT NULL' Borrado: con sp_droptype tipo EXEC sp_droptype isbn Maximiliano Odstrcil - 56

Tipos de datos de usuario (2) Guías para la creación de tipos de datos. Si la longitud de la columna varía, usar tipos variables (varchar) Para tipos de datos numéricos, tener en cuenta el almacenamiento y la precisión. En general, usar decimal. Si el almacenamiento supera los 8000 bytes, se deben usar los tipos text o image. Maximiliano Odstrcil - 57

Creación y borrado de tablas (1) Cuando se crea una tabla, se debe especificar: Su nombre Los nombres y tipos de datos de las columnas (deben ser únicos dentro de una tabla específica) Se puede especificar en cada columna si admite o no valores nulos (NULL o NOT NULL). Maximiliano Odstrcil - 58

Creación y borrado de tablas (2) La sentencia para crear tablas es CREATE TABLE. Nombre de Columna CREATE TABLE member ( member_no lastname firstname middleinitial photograph ) Tipo de Dato member_no shortstring shortstring letter image NULL o NOT NULL NOT NULL, NOT NULL, NOT NULL, NULL, NULL Para borrar una tabla se usa la sentencia DROP TABLE. Maximiliano Odstrcil - 59

Agregado o borrado de columnas Agregar ALTER TABLE sales ADD ADD customer_name char(30) null Commission Commission Sales_amount Sales_amount Sales_date Sales_date Customer Customer ID ID Customer_name Customer_name Borrar ALTER TABLE sales DROP COLUMN sales_date Maximiliano Odstrcil - 60

Generación de valores de columnas (1) Se pueden generar valores de columnas de diferentes maneras: En SQL Server se puede emplear la propiedad IDENTITY o la función NEWID() junto con el tipo de datos uniqueidentifier. En MySQL se puede emplear la propiedad auto_increment. Maximiliano Odstrcil - 61

Generación de valores de columnas (2) Uso de la propiedad IDENTITY: Se fija el valor de la semilla Se fija el valor del incremento. Se usa @@identity para determinar el valor más reciente. Ej: create table tabla (col, tipo_dato, identity semilla, incremento not null) Maximiliano Odstrcil - 62

Generación de valores de columnas (3) Uso de la función NEWID(): Se aseguran valores globales únicos Se usa con la restricción DEFAULT. Ej: create table tabla (columna uniqueidentifier not null default newid(),... Maximiliano Odstrcil - 63

Generación de valores de columnas (4) Uso de la propiedad auto_increment: Ej: create table tabla (columna int(11) not null auto_increment,... Maximiliano Odstrcil - 64

Generación de valores de columnas (5) Se debe considerar lo siguiente: Solo un tipo de columna identidad es permitida por tabla. No puede ser modificado su valor. En SQL Server no admite valores nulos. Se usa con los tipos de datos numéricos. La columna identidad no asegura unicidad (usar índices). Maximiliano Odstrcil - 65

Planificación de la Capacidad Determinación del tamaño de la BD Estimación de la cant. de datos por tabla Maximiliano Odstrcil - 66

Determinación del tamaño de la BD (1) Cuando se planea la creación de una BD, se debe tener en cuenta el espacio que ocupará en disco en forma de archivos (el espacio incluye el RT, tablas e índices). Cada objeto que se crea en la BD ocupa lugar (procedimientos almacenados, desencadenadores, vistas, etc.). Maximiliano Odstrcil - 67

Determinación del tamaño de la BD (2) Factores a considerar: Tamaño de la BD model y cantidad de datos en las tablas. Número y tamaño de índices y tamaño del RT Tamaño de las tablas del sistema. Maximiliano Odstrcil - 68

Estimación de la cant. de datos por tabla (1) Luego de planificar la cantidad de espacio que necesita la BD, se debe estimar la cantidad de espacio que ocuparán los datos en las tablas. Se puede calcular determinando la cantidad de filas, tamaño de la fila, número de filas que llenan una página y total de páginas necesarias para cada tabla. Maximiliano Odstrcil - 69

Estimación de la cant. de datos por tabla (2) 1. Calcular el número de bytes por fila: Sumar la cantidad de bytes de cada columna, tomando un promedio en las columnas variables. 2. Determinar el número de filas por página: Dividir 8060 por el número de bytes de cada fila. Redondear al entero más bajo. 3. Dividir el número de filas estimados en la tabla por el número de filas por página. 4. Hacer esto por cada tabla y sumar todo para obtener el número de páginas total. Maximiliano Odstrcil - 70