e-book sql 2000

Upload: pac-man

Post on 31-May-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/15/2019 E-Book SQL 2000

    1/193

    SQL SERVER DESCRIPCIN DEL ENTORNO Y CREACIN DE BASESDE DATOS...........................................................................................................5

    Introduccin a SQL Server 2000 .................................................................................................................5

    Ediciones e Instalacin de SQL Server .......................................................................................................9Ediciones SQL Server 2000........................................................................................................................9Instalacin de SQL Server........................................................................................................................11

    Alguna edicin de Windows 2000 Server..................................................................................................11

    Server y client tools......................................................................................................................................12Pasos para la instalacin sobre Windows NT Server..........................................................................12Verificar la instalacin de SQL Server................................................................................................22

    Modos de autenticar las cuentas de los usuarios......................................................................................26INICIO DE SESIN.................................................................................................................................26

    Para modificar la autenticacin realice los siguientes pasos: .................................................................26

    Usuarios de Base de Datos ...................................................................................... .................................30Roles por Servidor ....................................................................................... ........................................32

    Dbcreator ....................................................................................................... ...............................................32Roles por Base de Datos .................................................................. ....................................................33

    BASES DE DATOS DE SQL SERVER.............................................................34

    Objetos de una Base de Datos.....................................................................................................................34

    Creacin de Base de Datos..........................................................................................................................37Pginas y extensiones ........................................................................... ...............................................38Archivos y grupos de archivos fsicos de la base de datos .................................................................40Archivos de Registro (LOG de Transacciones) ..................................................................................41Creacin de Base de Datos ............................................................................... ...................................42

    Desde el Asistente...........................................................................................................................42Desde el Administrador Empresarial..............................................................................................48Desde el Analizador de Consultas .................................................................................... ..............51Quines pueden crear bases de datos? ............................................................................ ..............54Ejemplos de creacin de base de datos empleando el Analizador de Consultas...........................54Creando Mltiples Archivos...........................................................................................................57Renombrando Base de Datos..........................................................................................................63

    CREACIN DE TABLAS...................................................................................65

    Temas: ........................................................................................................... ................................................65

    Tipos de Datos de SQL Server 2000 .............................................................................. ............................66Utilizar datos binarios...............................................................................................................................66

    Tipos de datos definidos por el usuario...............................................................................................70

    Empleo de Comandos DDLL (Data Definition Language)............... ......................................................73Tablas del Sistema ..................................................................................... ...............................................73

    Tablas del Usuario ........................................................................................ ...............................................73Permanentes ................................................................................. .............................................................74Temporales................................................................................................................................................74

  • 8/15/2019 E-Book SQL 2000

    2/193

    Creacin de tablas........................................................................................................................................74Consideraciones al crear tablas.................................................................................................................74Modificacin de la estructura de las tablas ................................................................................ ..............79Valores autogenerados para las columnas................................................................................................82

    Propiedad Identity................................................................................................................................82Funcin NEWID y Datos de tipo UNIQUEIDENTIFIER..................................................................83Eliminacin de tablas...........................................................................................................................83

    Implementar Restricciones ................................................................................... ....................................85Definir restrinccin PRIMARY KEY .................................................................................................87Definir FOREIGN KEY Constraint ............................................................................ ........................89

    Definir CHECK CONSTRAINT..............................................................................................................90Implementar DEFAULT CONSTRAINTS..............................................................................................91

    DIAGRAMA DE BASE DE DATOS...................................................................94

    RECUPERAR INFORMACIN..........................................................................97

    Objetivos:......................................................................................................................................................97

    Temas: ........................................................................................................... ................................................97Select ................................................................................................... ......................................................97Insert........................................................................................................................................................105 Update ..................................................................................... ................................................................105Delete ........................................................................................... ...........................................................106

    Recuperar informacin de dos o ms tablas (Joins)..............................................................................107

    Desencadenadores......................................................................................................................................110

    Asignar Roles y/o Permisos Comandos Dcl (Data Control Language) ............................................112

    EJERCICIOS PROPUESTOS.................................................................................................................118

    IMPLEMENTAR VISTAS Y PROCEDIMIENTOS ALMACENADOS..............128Qu es una vista?......................................................................................................................................128

    Agregar, Modificar y Eliminar una Vista...............................................................................................130Crear Vistas.............................................................................................................................................130Modificar Vistas......................................................................................................................................134Eliminar Vistas........................................................................................................................................136

    Procedimientos Almacenados...................................................................................................................138Crear, Modificar y Eliminar un Procedimiento Almacenado ................................................................139

    Crear Procedimientos Almacenados..................................................................................................139Modificar Procedimientos Almacenados ..........................................................................................145Eliminar Procedimientos Almacenados.............................................................................................146

    Funciones en SQL Server 2000 (1/2) .......................................................................................................147Tipos de funciones ..................................................................................... .............................................147

    Funciones Escalares .......................................................................................... .................................147Funciones de tabla en lnea................................................................................................................148Las funciones de tabla de multi sentencias........................................................................................148

    Llamando Funciones...............................................................................................................................149Limitaciones............................................................................................................................................149 Columnas computadas ............................................................................................. ...............................149

  • 8/15/2019 E-Book SQL 2000

    3/193

    GLOSARIO ......................................................................................................151

    REFERENCIA DEL TRANSACT-SQL............................................................153

    TIPOS DE VALOR ...................................................................................................................................153Utilizar datos char y varchar...................................................................................................................153

    Utilizar datos de fecha y hora........... ........................................................................... ...........................154Formato alfabtico de las fechas ...................................................................... ......................................155Formato numrico de fecha ................................................................................ ....................................156Formato de cadena sin separar................................................................................................................157Formatos de hora.....................................................................................................................................157Formato datetime de ODBC...................................................................................................................158Utilizar datos enteros ................................................................................. .............................................159Utilizar datos decimal, float y real..........................................................................................................159Utilizar datos float y real ........................................................................... .............................................160Utilizar datos text e image ......................................................................... .............................................160Utilizar Constantes..................................................................................................................................161Utilizar constantes en Transact-SQL......................................................................................................162

    Funciones .................................................................................. ..................................................................162Utilizar funciones del sistema.................................................................................................................164Utilizar funciones de cadena...................................................................................................................165Utilizar SUBSTRING.............................................................................................................................166Comparacin de CHARINDEX y PATINDEX.....................................................................................166Utilizar STR ................................................................................... .........................................................167Utilizar STUFF .............................................................................. .........................................................168Comparacin de SOUNDEX y DIFFERENCE.....................................................................................168Utilizar las funciones text, ntext e image ......................................................... ......................................169Utilizar funciones matemticas ..................................................................... .........................................170Utilizar funciones trigonomtricas .......................................................................... ...............................171

    ACOS y COS .......................................................................................................... ...........................172ASIN y SIN........................................................................................................................................172ATAN , ATN2, TAN y COT.............................................................................................................172DEGREES..........................................................................................................................................172 RADIANS ...................................................................................................... ....................................173Comparacin de CEILING y FLOOR...............................................................................................173Comparacin de LOG y LOG10........................................................................................................173

    Utilizar las funciones exponenciales POWER y EXP....................................................... ....................173Utilizar RAND .................................................................................... ....................................................173Funciones de fecha..................................................................................................................................174

    Utilizar GETDATE............................................................................................................................174Comparacin de DATEPART y DATENAME ................................................................................175Comparacin de DATEADD y DATEDIFF.....................................................................................175

    Funciones que devuelven identificadores y nombres de usuarios .........................................................176Obtener identificadores o cuentas de inicio de sesin ...........................................................................177Obtener nombres de usuario de base de datos o identificadores de usuario..........................................179Funciones de conversin.........................................................................................................................180

    El parmetro estilo .............................................................................................................................183

    Expresiones.................................................................................................................................................183 Utilizar operadores en expresiones.........................................................................................................184

    Operadores aritmticos .............................................................................................. ........................185Operadores binarios ......................................................................................... ..................................186Operadores de comparacin...............................................................................................................186Operador de concatenacin de cadenas.............................................................................................188

    Valores NULL.........................................................................................................................................189

    Miscelaneo...................................................................................................................................................190 Utilizar comentarios................................................................................................................................190

  • 8/15/2019 E-Book SQL 2000

    4/193

    UPDATE Products .........................................................................................................192 Utilizar palabras clave reservadas .................................................................... ......................................192Sinnimos................................................................................................................................................192

  • 8/15/2019 E-Book SQL 2000

    5/193

    SQL Server Descripcin del Entorno y Creacin de Bases deDatos

    Objetivos:

    Entender que es SQL Server Requisitos de Hardware y Software Seguridad Crear bases de datos

    Temas:

    Introduccin a SQL Server Ediciones de SQL Server Instalacin de SQL Server Modos de autentificar las cuentas de los usuarios Bases de Datos de SQL Server Creacin de Bases de Datos

    Introduccin a SQL Server 2000

    SQL Server 2000 es un sistema de gestin de bases de datos relacionales (SGDBR oRDBMS: Relational Database Management System) diseado para trabajar con grandescantidades de informacin y la capacidad de cumplir con los requerimientos de procesode informacin para aplicaciones comerciales y sitios Web.

    SQL Server 2000 ofrece el soporte de informacin para las tradicionales aplicacionesCliente/Servidor, las cuales estn conformadas por una interfaz a travs de la cual losclientes acceden a los datos por medio de una LAN.

    La hoy emergente plataforma NET exige un gran porcentaje de distribucin de recursos,desconexin a los servidores de datos y un entorno descentralizado, para ello susclientes deben ser livianos, tales como los navegadores de Internet los cuales accederna los datos por medio de servicios como el Internet Information Services(IIS).

    SQL Server 2000 est diseado para trabajar con dos tipos de bases de datos :

    OLTP (OnLine Transaction Processing) Son bases de datos caracterizadaspor mantener una gran cantidad de usuarios conectados concurrentementerealizando ingreso y/o modificacin de datos. Por ejemplo : entrada de pedidosen lnea, inventario, contabilidad o facturacin.

    OLAP (OnLine Analytical Processing) Son bases de datos que almacenangrandes cantidades de datos que sirven para la toma de decisiones, como porejemplo las aplicaciones de anlisis de ventas.

  • 8/15/2019 E-Book SQL 2000

    6/193

    SQL Server puede ejecutarse sobre redes basadas en Windows Server as como sistemade base de datos de escritorio en mquinas Windows NT Workstation, WindowsMillenium y Windows 98.

    Los entornos Cliente/Servidor, estn implementados de tal forma que la informacin seguarde de forma centralizada en un computador central (servidor), siendo el servidor

    responsable del mantenimiento de la relacin entre los datos, asegurarse del correctoalmacenamiento de los datos, establecer restricciones que controlen la integridad dedatos, etc.

    Del lado cliente, este corre tpicamente en distintas computadoras las cuales acceden alservidor a travs de una aplicacin, para realizar la solicitud de datos los clientesemplean el Structured Query Language (SQL), este lenguaje tiene un conjunto decomandos que permiten especificar la informacin que se desea recuperar o modificar.

    Existen muchas formas de organizar la informacin pero una de las formas msefectivas de hacerlo est representada por las bases de datos relacionales, las cualesestn basadas en la aplicacin de la teora matemtica de los conjuntos al problema de la

    organizacin de los datos. En una base de datos relacional, los datos estn organizadosen tablas (llamadas relaciones en la teora relacional).

    Una tabla representa una clase de objeto que tiene importancia para una organizacin.Por ejemplo, se puede tener una base de datos con una tabla para empleados, otra paraclientes y otra para productos del almacn. Las tablas estn compuestas de columnas yfilas (atributos y tuplas en la teora relacional).

    La tabla Empleados tendra columnas para el nombre, el apellido, cdigo delempleado, departamento, categora laboral y cargo. Cada fila representa una instanciadel objeto representado por la tabla. Por ejemplo, una fila de la tabla Empleadosrepresenta el empleado cuyo Id. de empleado es 12345.

    Al organizar los datos en tablas, se pueden encontrar varias formas de definirlas. Lateora de las bases de datos relacionales define un proceso, la normalizacin, queasegura que el conjunto de tablas definido organizar los datos de manera eficaz.

  • 8/15/2019 E-Book SQL 2000

    7/193

    SQL Server incluye un conjunto de herramientas que facilitan la instalacin yadministracin del servidor as como un conjunto de herramientas que facilitan eldiseo e implementacin de base de datos, entre ellos podemos mencionar:

    SQL Server 2000 Database Engine, diseado para almacenar detalladamente losregistros de las operaciones transaccionales (OLTP), este motor es responsable demantener la seguridad de los datos, proveer un adecuado nivel de tolerancia afallos, optimizar las consultas, emplear adecuadamente los bloqueos de recursospara optimizar la concurrencia, etc.

    SQL Server 2000 Analysis Services, provee herramientas para consultarinformacin almacenada en data warehousesy data marts, como por ejemplocuando se desea obtener informacin totalizada acerca de los niveles de ventasmensuales por regiones de ventas, etc.

    Soporte para aplicaciones, SQL Server brinda a las aplicaciones clientes la posibilidadde acceder a los datos a travs de un lenguaje denominado Transact-SQL, asimismo esimportante mencionar que ahora existe un soporte para devolver la informacin enformato XML.

  • 8/15/2019 E-Book SQL 2000

    8/193

    Como soporte para las aplicaciones clientes tenemos:

    1. SQL Distributed Management Objects (SQL-DMO) API que brinda unconjunto de objetos COM que encapsulan toda la funcionalidad administrativadel motor de datos.

    2. Decision Support Objects (DSO) API que brinda un conjunto de objetos COMque encapsulan las funcionalidades de los SQL Server 2000 Analysis Services.3. Windows Management Instrumentation (WMI), es una API orientada a objetos

    que permite administrar aplicaciones scriptspara monitorear, configurar ycontrolar los servicios, recursos y aplicaciones de Windows. SQL Serverofrece una API que devuelve la informacin del motor de datos y de todas susinstancias, esta API se denomina SQL Server 2000 WMI.

    Entre los componentes adicionales de SQL Server 2000, podemos mencionar:

    Data Transformation Services, permite recuperar informacin de un origen dedatos, realizar transformaciones sencillas o complejas (como totalizacin de datos)

    y almacenarlos en otro origen de datos, como una base de datos SQL o un cubomultidimensional.Replicacin, se puede distribuir la informacin a travs de un mecanismo de replicacincon la finalidad de optimizar el rendimiento o de mantener autonoma, mientras unacopia de la informacin almacenada en diferentes computadoras mantengansincronizacin. English Query, provee de un sistema que permite a los usuarios plantear una

    pregunta en lenguaje natural en lugar de emplear un formato Transact-SQL. Porejemplo: List all customers, How many blue dress were sold in 2001?, etc.

    Meta Data Services, son un conjunto de servicios que permiten almacenar informacinacerca de las bases de datos y aplicaciones clientes que las emplean, esta informacin esaprovechada cuando se requiere intercambiar con otras aplicaciones. Los Meta Data

    Services proveen tres estndares:Meta Data Coalition Open Information Model (MDCOIM), Interfaces COM yXML Encoding.Adems de ello cuenta con la documentacin apropiada para poder obtener informacindetallada de cada uno de los tpicos de SQL Server.

  • 8/15/2019 E-Book SQL 2000

    9/193

    Componentes de SQL Server 2000

    Ediciones e Instalacin de SQL Server

    Ediciones SQL Server 2000

    SQL Server 2000 est disponible en seis diferentes versiones adems encualquier edicin se incluye el SQL Server 2000 Desktop Engine:

    Enterprise, soporta todas las caractersticas de SQL Server 2000. Esta edicines para empresas que implementan medianas y grandes bases de datos, las cualesbrindan recursos a soluciones web, organizaciones con un alto ndice de trabajotransaccional, y soporte para data warehouse.

    Estndar, ideal para aplicaciones que necesiten brindar informacin a grupos detrabajos o departamentos dentro de una organizacin.Entre las caractersticas ms saltantes que no se encuentran disponibles parael motor relacional, podemos mencionar:

    ClusteringLog ShippingVistas indexadas

  • 8/15/2019 E-Book SQL 2000

    10/193

    Entre las caractersticas ms destacadas que no se encuentran disponiblespara los servicios de anlisis:

    Definicin de cubos particionadosCubos OLAP enlazadosSoporte para dimensiones ROLAP

    Celdas calculadasPersonal, soporta todas las caractersticas del SQL Server 2000 Standard Edition,excepto la replicacin transaccional, para lo cual slo puede ser definido como unsuscriptor, adems de esto tampoco se encuentra disponible el full text search cuando seinstala sobre Windows Me y Windows 98.Esta edicin puede ser empleada para aplicaciones standalone y usuarios mviles querequieran un almacenamiento local de informacin.

    Windows CE Edition, es empleado para almacenar informacin en dispositivosWindows CE. SQL Server 2000 CE es implementado como un conjunto delibreras (DLLs) que operan como un OLE DB CE Provider. Est

    implementacin permite que SQL Server 2000 CE soportar ActiveXDataObjects for Windows CE (ADOCE) y OLE DB CE APIs en Windows CEversiones disponibles para Visual Basic y Visual C++. Adems tambin esposible que mltiples aplicaciones puedan compartir al mismo tiempo unconjunto de DLLs.

    Los dispositivos Windows CE pueden conectarse a la red empleando RemoteData Access (RDA) caracterstica de SQL Server CE para:

    Conectarse a instancias de SQL Server de diferentes plataformasEjecutar sentencias SQL y colocarlas en un recordsetModificar la informacin de un recordsety enviarlas a una instancia de SQL Server

    inclusive de diferentes plataformas.Ser suscriptor en una replicacin de tipo merge.

    Developer Edition, soporta todas las caractersticas de SQL Server 2000,adems de un conjunto de herramientas grficas para la configuracin deidiomas, esta es una edicin slo para desarrolladores que emplean SQL Servercomo su origen de datos. Esta edicin slo esta licenciada para desarrollo yprueba de los sistemas.

    Enterprise Evaluation Edition, soporta todas las caractersticas de SQL Server2000, a excepcin de las herramientas grficas para configuracin del lenguaje.Esta edicin es libre y se puede descargar desde el Web aunque slo podr

    ejecutarla por 120 das.

    SQL Server 2000 Desktop Engine, es una versin distrbuible del motor debase de datos relacional de SQL Server 2000. Esta edicin es empleada paraaquellas aplicaciones que no requieran la implementacin de tareasadministrativas para el cliente. Debe recordar que las bases de datos no debenexceder los 2 Gb. de tamao.

  • 8/15/2019 E-Book SQL 2000

    11/193

    Instalacin de SQL Server

    Antes de instalar SQL Server 2000 es necesario conocer cuales son los requisitosmnimos para instalar este producto, el siguiente cuadro muestra los requerimientos para

    instalar SQL Server de acuerdo a la edicin que Ud. emplee:

    Recurso RequerimientoComputador Intel o compatibleProcesador Pentium 166Monitor 800*600Dispositivo puntero MouseTarjeta de red Opcional (requerido para acceso a los recursos de la

    red)CD-ROM Requerido para la instalacin

    Para determinar correctamente el requerimiento de memoria, emplear la siguiente tabla:

    Enterprise Estndar Evaluation DeveloperPersonal yDesktopEngine

    Algunaedicin deWindows 2000Server

    256 MB (128MB

    soportado)

    256 MB (128MB

    soportado)

    256 MB (128MB

    soportado)

    256 MB (128MB

    soportado)

    256 MB (128MB

    soportado)

    Alguna edicinde Windows NT

    4.0 Server conSP5 o posterior

    128 MB (64MB

    soportado)

    64 MB

    128 MBrecomendado

    (64 MBsoportado)

    64 MB 32 MB

    Windows 2000Professional N/A N/A

    128 MBrecomendado

    (64 MBsoportado)

    64 MB 64 MB

    Windows NT 4.0Workstation, conSP5 o posterior

    N/A N/A

    128 MBrecomendado

    (64 MBsoportado)

    64 MB 32 MB

    Windows ME N/A N/A N/A N/A 32 MBWindows 98 N/A N/A N/A N/A 32 MB

    Como software tener en cuenta que para instalar SQL Server 2000 se requiere deInternet Explorer 5.0 o posterior, si desea instalar SQL Server 2000 sobre Windows NTen cualquiera de sus ediciones debe instalar previamente el Service Pack 5.0 o posterior.

    Asimismo tenga en cuenta la siguiente tabla, para poder determinar el espacio endisco requerido para su instalacin:

  • 8/15/2019 E-Book SQL 2000

    12/193

    Opcin de Instalacin

    seleccionada Espacio en disco requerido

    Server y client tools 95-270 MB dependiendo de las opciones seleccionadas

    Instalacin Typical

    250 MB (178 MB para el sistema, ms 72 MB para

    programas y archivos de datos)

    Instalacin mnima110 MB (73 MB para el sistema, ms 37 MB paraprogramas y archivos de datos)

    Herramientasadministrativas

    113 MB (sistema solamente)

    BoAceptars Online 30 MB (sistema solamente)Analysis Services 47 MB mnimo 120 MB typicalEnglish Query 80 MBSlo Desktop Engine 44 MB

    Pasos para la instalacin sobre Window s NT Server

    Coloque el CD de instalacinAparecer la siguiente pantalla

    Despus se presentar la siguiente pantalla:

  • 8/15/2019 E-Book SQL 2000

    13/193

    A continuacin aparecer una ventana que da la bienvenida al proceso de instalacin,pulse Siguiente (Siguiente)en la siguiente pantalla:

    1. A continuacin aparece una pantalla que le solicitar elegir entre unainstalacin local o una instalacin remota, pulse Siguiente (Siguiente) en lasiguiente pantalla:

  • 8/15/2019 E-Book SQL 2000

    14/193

    Si es la primera vez que instala SQL Server 2000 aparecer la siguiente pantalla:

    2. Ingrese la informacin del usuario y pulse Siguiente (Siguiente).

    Acepte las condiciones del licenciamiento:

  • 8/15/2019 E-Book SQL 2000

    15/193

    Luego de aceptar las condiciones del licenciamiento aparecer una caja de dilogosolicitndole que seleccione uno de los tipos de instalacin, para ello tendr lassiguientes opciones:Slo Herramientas Cliente (Client Tools only), cuando requiera instalar herramientasclientes para administrar un servidor SQL Server existente, as como tambin loscomponentes de conectividad los libros en lnea y opcionalmente los ejemplos.Servidor y Herramientas Cliente (Server and Client Tools), selecciona esta opcincuando requieras instalar un servidor SQL Server 2000, el cual deba contar con todaslas herramientas.

    Slo Conectividad (Connectivity Only), seleccione esta opcin para instalar las librerasde conectividad para los clientes.

    Para cualquiera de las tres opciones se instalar previamente MDAC 2.6,para la instalacin que estamos realizando seleccione Servidor yHerramientas Cliente (Server and Client Tools) y luego pulse Siguiente(Siguiente):

  • 8/15/2019 E-Book SQL 2000

    16/193

    A continuacin aparecer una caja de dilogo donde especificar el nombre de lainstancia que est instalando, si es la primera vez En forma predeterminada tomar elnombre del equipo donde se encuentra instalando:

  • 8/15/2019 E-Book SQL 2000

    17/193

    3. Luego de pulsar Siguiente (Siguiente), tendr la posibilidad de seleccionar el

    tipo de instalacin a ejecutar, seleccione Personalizada (Custom) para quepueda observar las diferentes opciones que configura el instalador, en estaprimera pantalla se muestran los espacios requeridos as como tambin lascarpetas donde se almacenaran las diferentes libreras de SQL Server:

    4. Luego de pulsar Siguiente (Siguiente) aparecer una lista que le permitirseleccionar los componentes a instalar, desplazar la lista Componentes

    (Components) y activar las casillas Ejemplos de Cdigo (Code Simples):

  • 8/15/2019 E-Book SQL 2000

    18/193

    5. Inmediatamente se le solicitar una cuenta para los servicios, si se encuentratrabajando en un entorno de red, asigne una cuenta de un usuario quepertenezca al grupo Administradores (Administrators) del Dominio:

    Seleccione el modo de autentificacin para acceder a SQL Server 2000:

  • 8/15/2019 E-Book SQL 2000

    19/193

    A continuacin podr determinar el conjunto de caracteres con los cuales trabajar,asimismo podr determinar si las consultas distinguirn o no las maysculas de lasminsculas

    Activar las libreras de red de acuerdo a los usuarios que tendr su origen de datos:

  • 8/15/2019 E-Book SQL 2000

    20/193

    6. Luego de pulsar Siguiente (Siguiente) aparecer una pantalla indicndole quese ha completado el trabajo de recoleccin de informacin, pulse Siguiente(Siguiente) para iniciar el copiado de archivos:

    7. Al completar la instalacin se muestra la siguiente pantalla, pulse Finalizar(Finish) para finalizar:

  • 8/15/2019 E-Book SQL 2000

    21/193

  • 8/15/2019 E-Book SQL 2000

    22/193

    Verificar la instalacin de SQL Server

    Una vez finalizada la instalacin debe revisar la instalacin para cerciorarseque el producto se ha instalado correctamente para ello puede mostrar elAdministrador de Servicios (Service Manager) que le permitir mostrar elestado de los servicios, este utilitario tiene el siguiente aspecto:

    Seguidamente observar una caja de dilogo con el siguiente aspecto:

    Otra de las formas de verificar el estado de la instalacin es haciendopruebas con las sentencias a nivel del smbolo del sistema que ofrece SQLServer como es el caso del utilitario OSQL, para comprobar sufuncionamiento abra una ventana del sistema y digite el siguiente comando:

    C:\>osql S -U P q "SelectCategoryName From Northwind..Categories" Reemplace el texto en negrita por los valores adecuados.

    El resultado ser:

  • 8/15/2019 E-Book SQL 2000

    23/193

    CategoryName---------------BeveragesCondimentsConfectionsDairy ProductsGrains/CerealsMeat/PoultryProduceSeafood(8 rows affected)1> quit

    Otra manera de poder verificar la instalacin de SQL Server es revisar losservicios que se cargan, para ello presione el botn del men Inicio (Start),seleccione Programas (Programs), Herramientas Administrativas (AdministrativeTools) y haga clic en Servicios (Services):

    Compruebe que los siguientes servicios se encuentren iniciados:

    MSSQL Server Este servicio es el motor de base de datos, este es elcomponente que procesa todas las sentencias del Transact-SQL y administratodos los archivos que comprometen las bases de datos del servidor, entre susprincipales funciones podemos mencionar:

    La asignacin de recursos del servidor entre mltiples usuariosconcurrentes.

    Previene los problemas lgicos, como por ejemplo prevenir que losusuarios modifiquen la misma informacin al mismo tiempo.

    Asegura la consistencia e integridad de datos.

  • 8/15/2019 E-Book SQL 2000

    24/193

    SQL Server Agent Este servicio trabaja junto al MSSQL Server para crear yadministrar Alertas, Tareas (locales o multiserver) y Operadores. Entre susprincipales funciones podemos mencionar:

    Las alertas proveen informacin acerca del estado de un proceso, comopor ejemplo indicar cuando finalizo una tarea con xito o fracaso.

    Este servicio incluye un motor que permite crear tareas y programarlospara que se ejecuten automticamente.

    Puede enviar correos electrnicos, puede indicar la ejecucin de unatarea cuando una alerta ocurre.

    MS DTC Permite incluir mltiples orgenes de datos en una transaccin, seencarga de coordinar y asegurar que las actualizaciones sobre todos losservidores sean permanentes, y si en caso estos cambios causaran un errordeshacer todos.

    Microsoft Search Este es un servicio opcional y se encarga de realizarbsquedas sobre informacin tipo carcter creando ndices para facilitar estasconsultas.

    Adems de ello podr ingresar a la consola de administracin de SQL Serverdenominada Administrador Corporativo (Administrador Empresarial), para ellosiga la siguiente secuencia:

    A continuacin tendr la interfaz del Administrador Corporativo (AdministradorEmpresarial), tal como lo muestra la siguiente representacin:

  • 8/15/2019 E-Book SQL 2000

    25/193

  • 8/15/2019 E-Book SQL 2000

    26/193

    Modos de autenticar las cuentas de los usuarios

    SQL Server valida a los usuarios en dos niveles de seguridad: una a travs de un Iniciode sesin que establece el hecho de realizar la conexin a SQL Server y otro a partir dela validacin de los permisos que tienen los usuarios sobre una base de datos.

    INICIO DE SESIN

    Todos los usuarios deben tener un Inicio de sesin para poder conectarse a SQL Server,para esto SQL Server reconoce 2 mecanismos de autentificacin:SQL Server es cuando el usuario debe proveer de un usuario y una contrasea que

    sern validados por el propio SQL Server cuando el cliente intente conectarse.Windows NT es cuando una cuenta o grupo de Windows NT controla el acceso aSQL Server, el cliente no provee usuario y contrasea, ya que se emplear la cuentacon la que se ingresa al sistema operativo.

    Para modificar la autenticacin realice los siguientes pasos:

    1 Haga clic derecho sobre el servidor, en el men contextual haga clic sobre laopcin Properties.

  • 8/15/2019 E-Book SQL 2000

    27/193

    2 En la caja de dilogo haga clic sobre la ficha Seguridad, se presentar lasiguiente pantalla:

    Seleccione la opcin SQL Server y Windows cuando desee brindar servicios deinformacin a terceros por ejemplo a usuarios de internet. Seleccione Slo Windowscuando los datos estarn disponibles slo a los empleados de la organizacin. Encualquiera de los dos casos debe pulsar Aceptar, espere por un instante mientras SQLServer 2000 detiene los servicios y los vuelve a iniciar para hacer efectivos los cambios.

    Hecho esto Ud. podr definir sus Inicios de sesin de acceso a SQL Server, para ellorealice la siguiente secuencia desde el Administrador Empresarial:

    Expanda la carpeta Seguridad del Administrador Empresarial y haga clic derecho sobreInicios de sesin

  • 8/15/2019 E-Book SQL 2000

    28/193

    Aparecer la siguiente caja de dilogo:

    En la ficha Acceso a base de datos podr especificar que el Inicio de sesin se definircomo usuario de alguna de las bases de datos existentes. Pulse Aceptar al finalizar.

  • 8/15/2019 E-Book SQL 2000

    29/193

    La creacin de Inicios de sesin tambin es posible desde el Analizador de Consultas,que es una herramienta a la cual accesamos a partir de la siguiente secuencia:

    Observar el siguiente entorno:

  • 8/15/2019 E-Book SQL 2000

    30/193

    Ahora que conocemos el entorno podemos digitar las siguientes sentencias para podercrear un nuevo Inicio de sesin:

    /* Ac t ivar Base de datos * /

    Use Master

    GO

    /* Crear nuevos login */

    Sp_Addlogin mhidalgo, mhidalgo

    GOSp_Addlogin Usuario01 , contrase a

    GO

    /* Comprobar la cr eacin del nuevo login */

    Select Nam e From Syslogins

    GO

    NOTA: Se pueden colocar comentarios empleando (--) al final de una sentencia,pero si desea tener un grupo de filas comentadas emplee los delimitadores (/*..... */)

    Usuarios de Base de Datos

    Una de las tareas comunes al administrar SQL Server es permitir el acceso a bases dedatos y la asignacin de permisos o restricciones sobre los objetos que conforman unabase de datos.

    SQL Server 2000 permite trabajar a nivel de Roles y Usuarios.

  • 8/15/2019 E-Book SQL 2000

    31/193

    Un rol es un conjunto de derechos asignados, los cuales se convierten en una granalternativa para agrupar un conjunto de permisos, de tal forma que cuando se incorporeun nuevo usuario a la base de datos, ya no se le tiene que dar permiso por permiso porcada uno de los objetos que requiera emplear, sino mas bien su cuenta de usuario esagregada al rol, y si al rol tiene que asignrsele acceso sobre un nuevo elementoautomticamente el permiso o la restriccin afectar a los usuarios que pertenezcan a un

    rol.

    Los usuarios representan los usuarios que tienen acceso a la base de datos y estnmapeados a un Inicio de sesin, aunque pueden tener diferente identificador, porejemplo el Inicio de sesin puede tener como nombre Jcabrera pero al definir unUsuario podemos usar Jorge.

    Despus de que se crearon los Inicios de sesin para conectarse a SQL Server, se debendefinir los accesos a las bases de datos requeridas, para ello es necesario definirUsuarios en cada BD, estos usuarios permitirn controlar el acceso a los distintosobjetos incluyendo los datos que estos contienen.

    Para ello realice el siguiente proceso:

    Expanda la base de datos donde desea definir al nuevo usuario y haga clic derecho sobrela carpeta Usuarios

    Seleccione un Inicio de sesin de la lista y pulse Aceptar.

  • 8/15/2019 E-Book SQL 2000

    32/193

    Tambin es posible realizar esta tarea desde el Analizador de Consultas para elloemplee la siguiente secuencia de instrucciones:

    Use Nor thw ind

    GO

    Sp_GrantDBAcce ss Usuario01

    GO

    Adems de los Inicios de sesin y usuarios SQL Server brinda un conjunto de roles porservidor y por base de datos que son derechos predefinidos que podrn especificarse porcada usuario de ser necesario. Tambin es posible crear roles personalizados.Los roles son los siguientes:

    Roles por ServidorRol Descripcin

    DbcreatorCrea y modifica bases de datos.

    Diskadmin Administra los archivos de datos.Processadmin Administra los procesos de SQL Server.SecurityAdmin Administra los Inicios de sesin.Serveradmin Opciones de configuracin del servidor.Setupadmin Instala la replicacin.Sysadmin Realiza cualquier actividad.

  • 8/15/2019 E-Book SQL 2000

    33/193

    Roles por Base de DatosRol Descripcin

    public Mantiene los permisos En formapredeterminada para todos los usuarios.

    db_owner Realiza cualquier actividad en la BDdb_accessadmin Agrega o retira usuarios y/o roles

    db_ddladmin Agrega, modifica o elimina objetosdb_SecurityAdmin Asigna permisos sobre objetos o sobre

    sentenciasdb_backupoperator Backup y Restore de la base de datosdb_datareader Lee informacin desde cualquier tabladb_datawriter Agrega, modifica o elimina datosdb_denydatareader No puede leer la informacindb_denydatawriter No puede modificar la informacin

  • 8/15/2019 E-Book SQL 2000

    34/193

    Bases de Datos de SQL Server

    SQL Server soporta bases de datos del sistema y bases de datos del usuario.Las bases de datos del sistema, almacenan informacin que permite operar y administrarel sistema, mientras que las de usuario almacenan los datos requeridos por las

    operaciones del cliente.

    Las bases de datos del sistema son:

    masterLa base de datos master se compone de las tablas de sistema que realizan elseguimiento de la instalacin del servidor y de todas las bases de datos que secreen posteriormente. Asimismo controla las asignaciones de archivos, losparmetros de configuracin que afectan al sistema, las cuentas de inicio desesin. Esta base de datos es crtica para el sistema, as que es bueno tenersiempre una copia de seguridad actualizada.

    tempdbEs una base de datos temporal, fundamentalmente un espacio de trabajo, esdiferente a las dems bases de datos, puesto que se regenera cada vez quearranca SQL Server. Se emplea para las tablas temporales creadas explcitamentepor los usuarios, para las tablas de trabajo intermedias de SQL Server durante elprocesamiento y la ordenacin de las consultas.

    modelSe utiliza como plantilla para todas las bases de datos creadas en un sistema.Cuando se emite una instruccin CREATE DATABASE, la primera parte de la basede datos se crea copiando el contenido de la base de datos model, el resto de lanueva base de datos se llena con pginas vacas.

    msdbEs empleada por el servicio SQL Server Agent para guardar informacin conrespecto a tareas de automatizacin como por ejemplo copias de seguridad ytareas de duplicacin, asimismo solucin a problemas.La informacin contenida en las tablas que contiene esta base de datos, esfcilmente accedida desde el Administrador Empresarial, as que se debe tenercuidado de modificar esta informacin directamente a menos que se conozca muybien lo que se esta haciendo.

    DistributionAlmacena toda la informacin referente a la distribucin de datos basada en unproceso de replicacin.

    Objetos de una Base de Datos

  • 8/15/2019 E-Book SQL 2000

    35/193

    Las Tablas son objetos de la base de datos que contienen la informacin de losusuarios, estos datos estn organizados en filas y columnas, similar al de una hoja declculo. Cada columna representa un dato aislado y en bruto que por s solo no brindainformacin, por lo tanto estas columnas se deben agrupar y formar una fila paraobtener conocimiento acerca del objeto tratado en la tabla. Por ejemplo, puede definiruna tabla que contenga los datos de los productos ofertados por una tienda, cadaproducto estara representado por una fila mientras que las columnas podran identificar

    los detalles como el cdigo del producto, la descripcin, el precio, las unidades enstock, etc.

    Una Vista es un objeto definido por una consulta. Similar a tabla, la vista muestra unconjunto de columnas y filas de datos con un nombre, sin embargo, en la vista noexisten datos, estos son obtenidos desde las tablas subyacentes a la consulta. De estaforma si la informacin cambia en las tablas, estos cambios tambin sern observadosdesde la vista. Fundamental emplean para mostrar la informacin relevante para elusuario y ocultar la complejidad de las consultas.

    Los tipos de datos especifican que tipo de valores son permitidos en cada una de lascolumnas que conforman la estructura de la fila. Por ejemplo, si desea almacenarprecios de productos en una columna debera especificar que el tipo de datos seamoney, si desea almacenar nombres debe escoger un tipo de dato que permitaalmacenar informacin de tipo carcter.SQL Server nos ofrece un conjunto de tipos de datos predefinidos, pero tambin existela posibilidad de definir tipos de datos de usuario.

    Un Procedimiento Almacenado es una serie de instrucciones SQL precompiladas lascuales organizadas lgicamente permiten llevar a cabo una operacin transaccional o de

  • 8/15/2019 E-Book SQL 2000

    36/193

    control. Un Procedimiento almacenado siempre se ejecuta en el lado del Servidor y noen la mquina Cliente desde la cual se hace el requerimiento. Para ejecutarlos deben serinvocados explcitamente por los usuarios.

    Un Desencadenador es un Procedimiento Almacenado especial el cual se invocaautomticamente ante una operacin de Insert, Update o Delete sobre una tabla. Un

    Desencadenador puede consultar otras tablas y puede incluir complejas instruccionesSQL, se emplean para mantener la integridad referencial, preservando las relacionesdefinidas entre las tablas cuando se ingresa o borra registros de aquellas tablas.

    Los Valores Predeterminados especifican el valor que SQL Server insertar en unacolumna cuando el usuario no ingresa un dato especfico. Por ejemplo, si se desconoceel apellido materno de un empleado SQL Server podra incluir automticamente lacadena NN para identificar este campo.

    Las Reglas son objetos que especifican los valores aceptables que pueden seringresados dentro de una columna particular. Las Reglas son asociadas a una columna oa un tipo de dato definido por el usuario. Una columna o un Tipo de dato puede tener

    solamente una Regla asociada con el.

    Las Restricciones son restricciones que se asignan a las columnas de una tabla y soncontroladas automticamente por SQL Server.Esto nos provee las siguientes ventajas:

    Se puede asociar mltiples constraints a una columna, y tambin se puede asociarun constraints a mltiples columnas.

    Se pueden crear los Restricciones al momento de crear la tabla CREATE TABLE.Los Restricciones conforman el standars ANSI para la creacin y alteracin detablas, estos no son extensiones del Transact SQL.

    Se puede usar un constraints para forzar la integridad referencial, el cual es el procesode mantener relaciones definidas entre tablas cuando se ingresa o elimina registros enaquellas tablas.

    Los ndices de SQL Server son similares a los ndices de un libro que nos permitenllegar rpidamente a las pginas deseadas sin necesidad de pasar hoja por hoja, de formasimilar los ndices de una tabla nos permitirn buscar informacin rpidamente sinnecesidad de recorrer registro por registro por toda la tabla. Un ndice contiene valores ypunteros a las filas donde estos valores se encuentran.

  • 8/15/2019 E-Book SQL 2000

    37/193

    Creacin de Base de Datos

    En trminos sencillos una base de datos de SQL Server es una coleccin de objetos quecontiene y administra datos. Antes de crear una base de datos es importante entendercomo es que SQL Server almacena la informacin.

  • 8/15/2019 E-Book SQL 2000

    38/193

    Pginas y extensiones

    Antes de crear una base de datos con SQL Server 2000, debemos tomar en cuenta que launidad bsica de almacenamiento en SQL Server es la pgina(data page), el tamao de

    cada pade es de 8 KB, lo cual representa un total de 128 pginas por cada megabyte.

    El comienzo de cada pgina es una cabecera de 96 bytes que se utiliza para almacenarinformacin de cabecera tal como el tipo de pgina, la cantidad de espacio libre de lapgina y el Id. del objeto propietario de la pgina.Existen ocho tipos de pginas en los archivos de datos de una base de datos SQL Server2000.

    Tipo de pgina Contenido

    DatosFilas con todos los datos excepto los de tipo text,ntext e image.

    ndice Entradas de ndicesTexto o imagen Datos de tipo text, ntext e image.Mapa de asignacin global/Mapa de asignacin globalSecundario

    Informacin acerca de las extensiones asignadas.

    Espacio libre en la pgina Informacin acerca del espacio libre disponible enlas pginas.Mapa de asignacin dendices.

    Informacin acerca de las extensiones utilizadaspor una tabla o un ndice

  • 8/15/2019 E-Book SQL 2000

    39/193

    Bulk Changed Map Informacin de los extends modificados poroperacin bulk desde el ltimo backup del log.

    Differential Changed Map Informacin de los extends modificados desde elltimo full database backup.

    Los archivos de registro (LOG) no contienen pginas, contienen series de registros.Las pginas de datos contienen todos los datos de las filas de datos excepto los datostext, ntext e image, que estn almacenados en pginas separadas. Las filas de datos secolocan en las pginas una a continuacin de otra, empezando inmediatamente despusde la cabecera, al final de cada pgina se encuentra una tabla de posiciones de filas quecontiene una entrada por cada fila de la pgina y cada entrada registra la posicin, desdeel principio de la pgina, del primer byte de la fila. Las entradas de la tabla deposiciones de filas estn en orden inverso a la secuencia de las filas de la pgina.

    En SQL Server, las filas no pueden continuar en otras pginas.

    Las extensiones son la unidad bsica de asignacin de espacio a las tablas e ndices.Consta de 8 pginas contiguas, es decir 64 KB. Lo cual representa 16 extensiones porMB.Para hacer que la asignacin de espacio sea eficiente, SQL Server 2000 no asignaextensiones enteras a tablas con poca cantidad de datos. SQL Server 2000 tiene dostipos de extensiones:

    Las extensiones uniformes son propiedad de un nico objeto; slo el objetopropietario puede utilizar las ocho pginas de la extensin. Extensiones mixtas, pueden estar compartidas por hasta ocho objetos.

  • 8/15/2019 E-Book SQL 2000

    40/193

    Las tablas o ndices nuevos son asignados a pginas de extensiones mixtas. Cuandola tabla o el ndice crecen hasta el punto de ocupar ocho pginas, se pasan aextensiones uniformes.

    Archivos y grupos de archivos fsicos de la base de datos

    Un archivo de base de datos no es mas que un archivo del sistema operativo. Una basede datos se distribuye en por lo menos dos archivos, aunque es muy probable que seanvarios los archivos de base de datos que se especifican al crear o al modificar una basede datos.Principalmente SQL Server divide su trabajo en un archivo para datos y otro para elregistro de las transacciones (log).

    SQL Server 2000 permite los tres siguientes tipos de archivos:

    Archivos de datos primariosToda base de datos tiene un archivo de datos primario que realiza el seguimientode todos los dems archivos, adems de almacenar datos. Por convenio estearchivo tiene la extensin MDF.

    Archivos de datos secundariosUna base de datos puede tener cero o varios archivos de datos secundarios. Porconvenio la extensin recomendada para los archivos de datos secundarios esNDF.

    Archivos de registro (LOG)Todas las bases de datos por lo menos tendrn un archivo de registro quecontiene la informacin necesaria para recuperar todas las transacciones que

    suceden sobre la misma. Por convenio la extensin de este archivo es LDF.

    Por lo tanto al crear una base de datos, debemos considerar los siguientes premisas yreglas para el almacenamiento de los datos:

    1. Todas las Bases de Datos tienen un archivo de base de datos primario (.mdf) yuno para el Log de Transacciones (.ldf). Adems puede tener archivos de datossecundarios (.ndf).

  • 8/15/2019 E-Book SQL 2000

    41/193

    2. Cuando se crea una Base de Datos, una copia de la Base de Datos Model, la cualincluye tablas del sistema, es copiada en la Nueva Base de Datos.

    3. La Data es almacenada en bloques de 8-kilobytes (KB) de espacio de discocontiguo llamado pginas.

    4. Las filas o registros no pueden atravesar pginas. Esto, es, que la mximacantidad de datos en una fila de datos simple es de 8060 bytes.

    5. Las tablas y los ndices son almacenados en Extents. Un Extents consta de ochopginas contiguas, o sea 64 KB.

    6. El Log de Transacciones lleva toda la informacin necesaria para la recuperacinde la Base de Datos en una eventual cada del sistema. Por default, el tamao delLog de Transacciones es del 25% del tamao de los archivos de datos. Use estaconfiguracin como punto de partida y ajuste de acuerdo a las necesidades de suaplicacin.

    Archivos de Registro (LOG de Transacciones)

    El LOG de transacciones archiva todas las modificaciones de los datos tal cual sonejecutados. El proceso es como sigue:

    1. Una modificacin de datos es enviada por la aplicacin cliente.

    2. Cuando una modificacin es ejecutada, las pginas afectadas son ledas del discoa memoria (Buffer Cache), provista de las pginas que no estn todava en laData Cache del query previo.

    3. Cada comando de modificacin de datos es archivado en el LOG. El cambiosiempre es archivado en el LOG y es escrito en el disco antes que el cambio seahecho en la Base de Datos. Este tipo de LOG es llamado LOG de tipo write-ahead.

    4. Una vez que las pginas de datos residen en el Buffer Cache, y las pginas deLOG son archivadas sobre el disco en el archivo del LOG, el proceso de

    CHECKPOINT, escribe todas las transacciones completas a la Base de Datos enel disco.

    Si el sistema falla, automticamente el proceso de recuperacin usa el LOG deTransacciones para llevar hacia delante todas las transacciones comprometidas(COMMIT) y llevar hacia atrs alguna transaccin incompleta (ROLLBACK).

  • 8/15/2019 E-Book SQL 2000

    42/193

    Los marcadores de transaccin en el LOG son usados durante la recuperacinautomtica para determinar los puntos de inicio y el fin de una transaccin. Unatransaccin es considerada completa cuando el marcador BEGIN TRANSACTIONtiene un marcador asociado COMMIT TRANSACTION. Las pginas de datos sonescritas al disco cuando ocurre el CHECKPOINT.

    Creacin de Base de Datos

    Se puede crear una base de datos de distintas maneras, utilizando el Wizard, desde elAdministrador Empresarial o a travs del Query Analizer.

    Desde el Asistente

    Ingrese al Administrador Empresarial y seleccione la carpeta Bases De Datos, tal comolo muestra la figura

  • 8/15/2019 E-Book SQL 2000

    43/193

    Haga clic en el men Herramientas y seleccione la opcin Asistentes, extienda la opcinBase de datos y seleccione la primera opcin (Asistente para creacin de bases dedatos), tal como lo muestra la siguiente imagen:

    Se presentar una pantalla de bienvenida al wizard pulse Siguiente:

  • 8/15/2019 E-Book SQL 2000

    44/193

    La siguiente pantalla le permitir especificar el nombre de la base de datos y lascarpetas donde se almacenaran los archivos de datos y de log.

    Luego de pulsar Siguiente, aparece una pantalla donde especificar si desea emplearmas de un archivo de datos as como tambin podr indicar el tamao de cada archivo:

  • 8/15/2019 E-Book SQL 2000

    45/193

    Luego de pulsar Siguiente, aparecen las opciones para personalizar el crecimientoautomtico del archivo de datos:

    Luego de pulsar Siguiente. Especifique el nombre para el archivo de log:

  • 8/15/2019 E-Book SQL 2000

    46/193

    Similar al caso del archivo de datos, luego de pulsar Siguiente, tambin podr establecerel crecimiento automtico o no del archivo de transacciones:

    Luego de pulsar Siguiente, aparecer la pantalla final;

  • 8/15/2019 E-Book SQL 2000

    47/193

    Pulse Finalizar, de no haber problemas le aparecer el siguiente mensaje:

    Luego de pulsar Aceptar, aparecer la siguiente pregunta:

    Conteste que No, luego de lo cual en el Administrador Empresarial podr observar lanueva base de datos.

  • 8/15/2019 E-Book SQL 2000

    48/193

    Desde el Administrador Empresarial

    Otra forma de crear la base de datos es desde el Administrador Empresarial, para ello:

    Ingrese al Administrador Empresarial, haga clic derecho sobre la carpeta Databases yseleccione la opcin New Database, tal como lo muestra la figura:

    Luego aparecer la siguiente pantalla, coloque el nombre de la base de datos yopcionalmente podr especificar el cdigo de pgina que emplear, esto lo puedeseleccionar de la lista Collation Name:

  • 8/15/2019 E-Book SQL 2000

    49/193

    Para especificar la informacin referente al archivo de datos, haga un clic en la fichaData Files y complete la siguiente informacin:

  • 8/15/2019 E-Book SQL 2000

    50/193

    Para poder especificar las caractersticas del archivo de log, haga clic en la fichaTransaction Log:

  • 8/15/2019 E-Book SQL 2000

    51/193

    Una vez establecido los valores y luego de pulsar Aceptar, en el AdministradorEmpresarial se observara la nueva base de datos creada.

    Desde el Analizador de Consultas

    Otra de las formas de crear una base de datos es a travs del Analizador de Consultas,donde emplearemos la sentencia CREATE DATABASE, cuya sintaxis reducida es lasiguiente:

    CREATE DATABASE NombreBaseDatos

    [ ON [PRIMARY

    NAME = nombreArch ivoLgico,

    FILENAME = 'nombreAr chivo SO',

    SIZE = tamao,

    MAXSIZE = { tam aoMx imo | UNLIMITED } ,

    FILEGROWTH = inc rement oCrecim iento) [ ,n]

    ]

    [ LOG ON

    NAME = nombreArch ivoLgico,

    FILENAME = 'nombreAr chivo SO',

    SIZE = tamao,

    MAXSIZE = { tam aoMx imo | UNLIMITED } ,

    FILEGROWTH = inc rement oCrecimie nto) [ ,n]

  • 8/15/2019 E-Book SQL 2000

    52/193

    [COLLATE nomb re_c ol lat ion] [ FOR LOAD | FOR ATTACH ]

    Argumentos

    nombreBaseDatosEs el nombre de la nueva base de datos, deben ser nicos en un servidor y pueden tener

    hasta 128 caracteres, a menos que no se especifique ningn nombre lgico para elregistro. Si no se especifica ningn nombre lgico de archivo de registro, SQL Servergenera un nombre lgico al anexar un sufijo a nombreBaseDatos.

    ONEspecifica que los archivos de disco utilizados para almacenar la parte de datos(archivos de datos) se han definido explcitamente. La palabra clave va seguida de unalista delimitada por comas de elementos que definen los archivos de datos del grupo dearchivos principal.

    PRIMARYEspecifica que la lista de archivos est asociada al grupo principal. Este grupo contiene

    todas las tablas del sistema de base de datos. Tambin contiene todos los objetos noasignados a los grupos de archivos de usuario. El primer archivo especificado pasa a serel archivo principal, el cual contiene el inicio lgico de la base de datos y de las tablasdel sistema. Una base de datos slo puede tener un archivo principal. Si no se especificaPRIMARY, el primer archivo enumerado en la instruccin CREATE DATABASE seconvierte en el archivo principal.

    LOG ONEspecifica que los archivos de registro de la base de datos (archivos de registro) se handefinido explcitamente. La palabra clave va seguida de una lista delimitada por comasla cual define las caractersticas de los archivos de registro. Si no se especifica LOGON, se crea automticamente un nico archivo de registro con un nombre generado por

    el sistema y un tamao que es el 25% de la suma de los tamaos de todos los archivosde datos de la base de datos.

    FOR LOADClusula que se mantiene por compatibilidad con versiones anteriores de SQL Server.La base de datos se crea con la opcin de base de datos dbo use only activada y elestado se establece en "cargando". En realida esto no es necesario en SQL Server 7.0porque la instruccin RESTORE puede volver a crear la base de datos como parte de laoperacin de restauracin.

    FOR ATTACHCrea la base de datos desde un conjunto existente de archivos del sistema operativo.

    Debe existir una entrada de archivos que determine cual es el archivo principal, las otrasentradas son necesarias si existen archivos creados en una ruta de acceso distinta decuando se cre la base de datos por primera vez o se adjunt por ltima vez.

    Utilice el procedimiento almacenado del sistema sp_attach_db en lugar de emplearCREATE DATABASE FOR ATTACHdirectamente, esto deber emplearlo si debeespecificar ms de 16 archivos.

  • 8/15/2019 E-Book SQL 2000

    53/193

    COLLATEEspecifica el conjunto de caracteres que se emplear para almacenar informacin en labase de datos, se puede emplear un conjunto de caracteres especificado por Windows opor SQL Server. De no especificarse se emplear el conjunto de caracteres seleccionadoen el momento de la instalacin

    NAMEEspecifica el nombre lgico del archivo.No se requiere este parmetro cuando se especifica FOR ATTACH.Este nombre es el utilizado para referenciar al archivo en las sentencias del Transact-SQL que se ejecuten despus.

    FILENAMEEspecifica el nombre de archivo del sistema (archivo fsico).Se debe especificar la ruta de acceso y nombre de archivo que el sistema operativoutiliza cuando crea la base de datos. La ruta de acceso debe especificar un directorio enel servidor sobre el que se instalo SQL Server.No se puede especificar un directorio en un sistema comprimido de archivos.

    SIZEEspecifica el tamao para el archivo. De no hacerlo SQL Server utiliza el tamao delarchivo principal de la base de datos model.Cuando este parmetro no es especificado para un archivo secundario o de registro SQLServer automticamente le asigna 1 MB.El valor mnimo a asignar es de 512 KB. Si no se especifica tamao, el valorpredeterminado es 1 MB. El tamao especificado para el archivo principal debe tener almenos el tamao del archivo principal de la base de datos model.

    MAXSIZEEspecifica el tamao mximo de crecimiento del archivo. Se pueden utilizar los sufijos

    KB y MB, el valor predeterminado es MB. Especifique un nmero entero; no incluyadecimales. Si no se especifica, el archivo aumenta hasta que el disco est lleno.

    UNLIMITEDEspecifica que el archivo aumenta de tamao hasta que el disco est lleno.

    FILEGROWTHEspecifica el incremento de crecimiento del archivo, este valor no puede exceder elvalor MAXSIZE. Emplee un nmero entero. Un valor 0 indica que no hay crecimiento.El valor se puede especificar en MB, KB o %, el valor predeterminado es MB. Cuandose especifica %, el tamao de incremento de crecimiento es el porcentaje especificadodel tamao del archivo en el momento en que tiene lugar el incremento. De no emplear

    FILEGROWTH, el valor predeterminado es 10% y el valor mnimo es 64 KB. Eltamao especificado se redondea al mltiplo de 64 KB ms cercano.

    Observaciones

    Emplee CREATE DATABASE para crear una base de datos y los archivos quealmacenan sta. SQL Server implementa CREATE DATABASE en dos pasos:

  • 8/15/2019 E-Book SQL 2000

    54/193

    SQL Server utiliza una copia de model para inicializar la base de datos y susmetadatos.

    SQL Server rellena el resto de la base de datos con pginas vacas, excepto laspginas que tengan datos internos que registren cmo se emplea el espacio en labase de datos.

    Cualquier objeto definido por el usuario en model se copiar a todas las bases de datosrecin creadas.

    Cada base de datos nueva hereda los valores opcionales de la base de datos model (amenos que se especifique FOR ATTACH).

    En un servidor se puede especificar un mximo de 32,767 bases de datos.

    Cuando especifica una instruccin CREATE DATABASE nombreBaseDatos sinparmetros adicionales, la base de datos se crea con el mismo tamao quemodel.

    Cada base de datos tiene un propietario con capacidad para realizar actividadesespeciales. El propietario es el usuario que crea la base de datos, este propietario sepuede cambiar mediante sp_changedbowner.

    Para mostrar un informe de una base de datos o de todas las bases de datos de unservidor con SQL Server, ejecute sp_helpdb. Para obtener un informe acerca delespacio utilizado en una base de datos, emplee sp_spaceused. Para obtener un informede los grupos de archivos de una base de datos, utilice sp_helpfilegroup, y utilicesp_helpfile para obtener el informe de los archivos de la base de datos.

    Quines pueden crear bases de datos?

    En forma predeterminada podrn hacerlos los usuarios que pertenecen al rol sysadminy dbcreator. Los miembros de las funciones fijas de servidor sysadmin ySecurityAdmin pueden conceder permisos CREATE DATABASE a otros inicios desesin. Los miembros de las funciones fijas de servidor sysadmin y dbcreator puedenagregar otros inicios de sesin a la funcin dbcreator. El permiso CREATEDATABASE debe concederse explcitamente; no se concede mediante la instruccinGRANT ALL.Estos permisos se limitan a unos cuantos inicios de sesin para mantener el control de lautilizacin de los discos del equipo que ejecuta SQL Server.

    Ejemplos de creacin de base de datos empleando el Analizador de Consultas

    Primero ingrese al Analizador de Consultas para ello primero debe especificar el tipode autentificacin a realizar del sistema o estndar, vea la siguiente figura:

  • 8/15/2019 E-Book SQL 2000

    55/193

    Ejemplo 1Crear la base de datos Prueba1 con los parmetros En forma predeterminada.Use Master

    GO

    Create Database Prueba1

    GO

    Verifique la creacin de la base de datos y note que automticamente SQL Serverasign tamaos y nombres lgicos para los archivos. Para ello emplee el siguienteprocedimiento almacenado del sistema:

    Sp_HelpDB Prueba1

    GO

    Debe obtener el siguiente resultado:

    name db_size owner dbid created status Compatibility LevelPrueba1 1.12 MB sa 8 Feb 28 2002 Status=ONLINE,Updateability=READ_WRITE,UsuarioAccess=MULTI_USUARIO,Recovery=FULL,Version=539,Collation=SQL_Latin1_General_CP1_CI_AS,SQLSortOrder=52,IsTornPageDetectionEnabled,IsAutoCreateStatistics,

    IsAutoUpdateStatistics 8.0

    Adems se mostrar un informe con los archivos que se crearon automticamente:

  • 8/15/2019 E-Book SQL 2000

    56/193

    Columnas Archivo de datos Archivo de Logname prueba1 prueba1_logfileid 1 2

    filename

    C:\Program Files\MicrosoftSQLServer\MSSQL\data\Prueba1.

    mdf

    C:\Program Files\Microsoft SQLServer\MSSQL\data\Prueba1_Log.ldf

    filegroup PRIMARY NULLsize 640Kb 504Kbmaxsize Unlimited Unlimitedgrowth 10% 10%usage data only log only

    Ejem p lo 2 Crear la base de datos Prueba2 con un archivo de datos de 10Mb, un tamao mximo de20Mb y un crecimiento de 1Mb., el archivo de registro debe asumir los valores por

    default.Use Master

    GO

    Create Database Prueba2

    On Primary

    (NAME = Prueb a2_Data,

    FILENAME = C:\Program Fi les\Micro soft SQL

    Server\MSSQL\dat a\Prueb a2 _Data.Mdf ,

    SIZE = 10Mb,

    MAXSIZE = 20Mb,

    FILEGROWTH= 1Mb)

    GO

    Verifique la creacin de la base de datos anterior:

    Sp_HelpDB Prueba2

    GO

    Puede notar como SQL Server aprovecha los valores predeterminados en la base dedatos model para completar la informacin que corresponde al log de transacciones, lacual no se especfico en la sentencia CREATE DATABASE.

    Ejem p lo 3 Crear la base de datos Prueba3 especificando un archivo de datos con un tamao inicial

    de 15Mb, un tamao mximo de 30Mb y un crecimiento de 5Mb., el archivo de registrodebe tener un tamao inicial de 5MB y uno mximo de 10MB, el crecimiento debe serde 1MB.Use Master

    GO

    Create Database Prueba3

    On Primary

    (NAME = Prueb a3_Data,

  • 8/15/2019 E-Book SQL 2000

    57/193

    FILENAME = C:\Program Fi les\Micro soft SQL

    Server\MSSQL\dat a\Prueb a3 _Data.Mdf

    SIZE = 15Mb,

    MAXSIZE = 30Mb,

    FILEGROWTH= 5Mb)

    Log On

    (NAME = Prueba3_Log,FILENAME = C:\Program Fi les\Micro soft SQL

    Server\MSSQL\dat a\Prueb a3 _Log.Ldf

    SIZE = 5Mb,

    MAXSIZE = 10Mb,

    FILEGROWTH= 1Mb)

    GO

    -- Veri f ique la inform acin c on :

    Sp_HelpDB Prueba3

    GO

    Otra de las formas de comprobar la creacin de las bases de datos es mostrando las filasde la tabla del sistema SysDatabases.

    Use Master

    GO

    Select DbID, Name From SysDatabases

    GO

    Revise los resultados.

    Creando Mltiples Archivos

    La ventaja de almacenar la base de datos en mltiples archivos radica en la flexibilidadde modificar en futuro la configuracin del hardware sin que se vea afectada la base dedatos, otro de los motivos es que si emplea una base de datos de 15GB y por algnmotivo ocurre una falla y desea recuperar desde el backup, necesitara una unidad de 15o mas gigabytes de almacenamiento, mientras que si distribuy la base de datos enmltiples archivos pequeos ser mas probable que tenga disponibles mltiplesunidades de 4 GB que unidades de 15GB.

    Con las sentencias del Transact-SQL es posible modificar la lista de archivos queconforman la base de datos, agregar o quitar archivos, incluso puede definir nuevos

    grupos de archivos los cuales permitirn tratar mltiples archivos como si se tratar deuno solo.

    Para poder realizar esta tarea emplee la sentencia ALTER DATABASE

    SintaxisALTER DATABASE NombreBD

  • 8/15/2019 E-Book SQL 2000

    58/193

    { ADD FILE [,n] [TO FILEGROUP

    nombreGrupoArchivos]

    | ADD LOG FILE ]

    | COLLATE < col lat ion_name > }

    ArgumentosADD FILE

    Especifica que se est agregando un archivo.

    TO FILEGROUP

    Especifica el grupo de archivos al que debe agregarse el archivo especificado.

    ADD LOG FILE

    Especifica que se agregue un archivo de registro a la base de datos indicada.

    REMOVE FILE

    Elimina el archivo de la base de datos y retira su referencia en las tablas del sistemaadems de eliminar el archivo fsico. Este archivo no podr eliminarse si no est vaco.

    ADD FILEGROUP

    Especifica que se va a agregar un grupo de archivos.

    REMOVE FILEGROUP

    Quita el grupo de archivos de la base de datos, no se puede realizar si el grupo dearchivos no est vaco.

    MODIFY FILE

    Especifica que el archivo dado se debe modificar, incluidas las opciones FILENAME,SIZE, FILEGROWTH y MAXSIZE. Slo se puede cambiar una de estas propiedades ala vez.

    MODIFY FILEGROUP nombreGrupoArchivos propiedadGrupoArchivos

    Especifica la propiedad que se aplicar a los archivos que pertenecen al grupo dearchivos.

  • 8/15/2019 E-Book SQL 2000

    59/193

    Los valores de propiedadGrupoArchivosson:

    READONLY

    Especifica que el grupo de archivos es de slo lectura. De tal manera que no sepodrn realizar modificaciones sobre los archivos pertenecientes a este grupo.

    READWRITE

    Invierte la propiedad READONLY. Estn habilitadas las actualizaciones para losobjetos del grupo de archivos.

    DEFAULT

    Especifica que el grupo de archivos es el predeterminado de la base de datos. Slo ungrupo puede ser el predeterminado, esta propiedad se quita del grupo de archivos quehaba sido anteriormente el predeterminado. CREATE DATABASE hace que el grupode archivos principal sea el grupo predeterminado inicialmente. Si no se especificaningn grupo de archivos en las instrucciones CREATE TABLE, ALTER TABLE oCREATE INDEX, se crean nuevas tablas e ndices en el grupo predeterminado.

    SETPermite establecer valores para algunas de las caractersticas de trabajo en una basede datos, por ejemplo el tipo de recovery que se emplear para los backups.

    COLLATEEspecifica el conjunto de caracteres a emplear, ya sean de Windows o de SQL Server2000.

    ObservacionesNo se puede agregar o quitar un archivo mientras se est ejecutando una instruccinBACKUP.

    Ejem p lo 1Modificar la base de datos Prueba2, de tal manera que le debe agregar un archivo dedatos secundario de 5MB y un tamao mximo de 10 MB. con un crecimiento de 1MB.Antes de ejecutar el siguiente comando utilice Sp_HelpDB Prueba2, para compararluego con los resultados despus de ejecutar la sentencia.

    USE maste r

    GOALTER DATABASE Prueba2

    ADD FILE

    (

    NAME = Prueb a2Sec_Dat a,

    FILENAME = 'C:\Program Fi les\Micro soft SQL Server \MSSQL\data\

    Prue2Data.ndf ' ,

    SIZE = 5MB,

    MAXSIZE = 10MB,

  • 8/15/2019 E-Book SQL 2000

    60/193

    FILEGROWTH = 1M B

    )

    GO

    Sp_HelpDB Prueba2

    GO

    -- Compare los resul tad os con los ant er iores

    Si desea informacin de los archivos, emplee la siguiente sentencia:

    Use Prueba2

    GO

    Sp_HelpFile

    GO

    Si desea ver las caractersticas slo del archivo que agrego utilice la siguientesentencia:

    Sp_HelpFi le Prueba2Sec _Data

    GO

    /* E l resul tado le most rar in formacin de l arch ivo que acaba de agregar * /

    Ejem p lo 2 Crear dos grupos de archivos en la base de datos Prueba2, el primer grupo se llamarCONSULTORES y el otro se llamar OPERACIONES.

    ALTER DATABASE Prueba2

    ADD FILEGROUP Consult ores

    GO

    ALTER DATABASE Prueba2

    ADD FILEGROUP Operac iones

    GO

    -- Veri f ique la informaci n con las s iguientes inst ruc ciones :

    Use Prueba2

    GO

    Sp_HelpFi leGroup

    GO

    Se mostrar el siguiente resultado:

    groupname groupid filecountConsultores 2 0

    Operaciones 3 0PRIMARY 1 2

    Ejem p lo 3 A cada uno de los grupos creados anteriormente aadale dos archivos de datos, paraello considere lo siguiente: los archivos del grupo CONSULTORES deben tener untamao de 10 MB. cada uno, con un tamao mximo de 20 MB y un crecimiento de

  • 8/15/2019 E-Book SQL 2000

    61/193

    2 MB., mientras que los del grupo OPERACIONES tendrn un tamao inicial de 5 MBy un mximo de 30 MB. con un crecimiento de 5 Mb.

    Use Master

    GO

    ALTER DATABASE Prueba2

    ADD FILE(NAME = Dat Cons01,

    FILENAME = C:\Program Fi les\Mic roso ft SQL

    Server\MSSQL\data\DatCons1.ndf ,

    SIZE = 10MB,

    MAXSIZE = 20MB,

    FILEGROWTH = 2MB ),

    (NAME = Dat Cons02,

    FILENAME = C:\Program Fi les\Mic roso ft SQL

    Server\MSSQL\data\DatCons2.ndf ,

    SIZE = 10MB,

    MAXSIZE = 20MB,

    FILEGROWTH = 2MB ),

    TO FILEGROUP CONSULTORES

    GO

    ALTER DATABASE Prueba2

    ADD FILE

    (NAME = Dat Oper01,

    FILENAME = C:\Program Fi les\Mic roso ft SQL

    Server\MSSQL\data\DatOper1.ndf ,

    SIZE = 5MB,

    MAXSIZE = 30MB,

    FILEGROWTH = 5MB ),

    (NAME = Dat Oper02,FILENAME = C:\Program Fi les\Mic roso ft SQL

    Server\MSSQL\data\DatOper2.ndf ,

    SIZE = 5MB,

    MAXSIZE = 30MB,

    FILEGROWTH = 5MB ),

    TO FILEGROUP OPERACIONES

    GO

    Una vez que ejecuta estas sentencias, verifique la informacin con la siguienteinstruccin:

    Use Prueba2GO

    Sp_HelpFi leGroup

    GO groupname groupid filecountConsultores 2 2Operaciones 3 2PRIMARY 1 2

  • 8/15/2019 E-Book SQL 2000

    62/193

    Si desea informacin de un grupo de archivos en particular, utilice:Sp_HelpFi leGroup Operaciones

    GO

    Ejem p lo 4 Modificar el tamao del DatOper01 asignndole como nuevo tamao mximo 40 Mb.

    Use Master

    GO

    ALTER DATABASE Prueba2

    MODIFY FILE

    ( NAME = Dat Oper01,

    MAXSIZE = 40Mb )

    GO

    -- Para ver i f i car e l cambio emplee la s igu iente ins t rucc in:

    Sp_HelpFi le DatOper0 1

    GO

    Ejem p lo 5 Eliminar el archivo DatOper01.

    Use Master

    GO

    ALTER DATABASE Prueba2

    REMOVE FILE DatOper01

    GO

    Ejem p lo 6 Hacer que el grupo de archivos Operaciones sea el grupo En forma predeterminada.

    Use Master

    GO

    ALTER DATABASE Prueba2

    MODIFY FILEGROUP Operac iones DEFAULT

    GO

    Cuando lo que se requiere es eliminar una base de datos, debe emplear la sentenciaDROP DATABASE, cuya sintaxis es la siguiente:

    DROP DATABASE database_name [,...n]

    Ejem p lo 7 Eliminar la base de datos Prueba2.

    Use Master

  • 8/15/2019 E-Book SQL 2000

    63/193

    GO

    DROP DATAB ASE Prueba2

    GO

    Revisar la tabla SysDatabases, verifique que se elimino la entrada de Prueba2

    Ejem p lo 8 Eliminar la base de datos Prueba1 y NuevoNombre

    Use Master

    GO

    DROP DATAB ASE Prueba1, NuevoNombr e

    GO

    Revisar la tabla SysDatabases, verifique que se elimino la entrada de Prueba2Use Master

    GO

    Select Nam e From SysDatabases

    GO

    Renombrando Base de Datos

    Para quitar una base de datos, utilice DROP DATABASE. Para cambiar el nombre deuna base de datos, utilice sp_renamedb, pero recuerde que para esto la base de datos arenombrar tiene que tener activa la opcin single user, si desea comprobar el empleode esta sentencia realice la siguiente secuencia de instrucciones desde el Analizador deConsultas, verifique la base de datos Prueba3 (creada en el Ejemplo3) no esteseleccionada en el Administrador Empresarial, para asegurarse haga clic izquierdo en

    Databases, luego ingrese al Analizador de Consultas con una cuenta de administrador(Windows authentication) o con la cuenta sa :

    /* Comprueba la presenc ia de Prueba3 */

    Use Master

    GO

    Select name From SysDatabases

    GO

    El resultado sera:

    Name

    mastertempdbmodelmsdbpubsNorthwindPrueba3Prueba1Prueba2

  • 8/15/2019 E-Book SQL 2000

    64/193

    /* Para renombr ar act ive la opcin Single User en la Base de datos a

    renombrar * /

    Sp_DBOption Prueba3, Single Us er , True

    GO

    El resultado sera:

    DBCC execution completed. If DBCC printed error messages, contact your systemadministrator.The database is now single usuario.

    /* En este ins tante la base de datos puede ser renombrada * /

    Sp_Rename DB Prueba3, NuevoNom bre

    GO

    El resultado sera:

    (1 row(s) affected)DBCC execution completed. If DBCC printed error messages, contact your systemadministrator.The database is renamed and in single usuario mode.A member of the sysadmin rol must reset the database to multiusuario mode withsp_dboption.

    /* Compruebe e l correc to renombrado de la base de datos y luego re t i re la

    opc in s ing le usuar io de la base de datos * /

    Select Nam e From SysDatabases

    GO

    Sp_DBOption 'NuevoNombre', 'Single Usuario', 'True'

    GO

  • 8/15/2019 E-Book SQL 2000

    65/193

    Creacin de Tablas

    Objetivos:

    Determinar Tipos de datos de SQL Server a utilizar en las tablas Implementacin de tablas, establecer restricciones Asignar permisos

    Temas:

    Tipos de datos de SQL Server Tipos de datos de usuario Empleo de comando DDL (Data Definition Language) Implementar Restricciones Asignar roles y/o permisos Comandos DCL (Data Control Language)

  • 8/15/2019 E-Book SQL 2000

    66/193

    Tipos de Datos de SQL Server 2000

    SQL Server brinda una serie de tipos de datos para almacenar la informacin, lacorrecta seleccin del tipo de dato es simplemente una cuestin de determinar que

    valores desea almacenar, como por ejemplo carcter, enteros, binario, fechas, etc. Lossiguientes objetos tienen tipos de datos:

    Columnas de tablas y vistas.Parmetros de procedimientos almacenados.Variables.Funciones de Transact-SQL que devuelven uno o ms valores de datos de un tipo dedatos especfico. Procedimientos almacenados que devuelven un cdigo, que siempre es de tipo

    integer.

    Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:

    La clase de datos que contiene el objeto, por ejemplo, carcter, entero o binario. La longitud del valor almacenado o su tamao. La precisin del nmero (slo tipos de datos numricos).

    La precisin es el nmero de dgitos que puede contener el nmero. Por ejemplo, unobjeto smallint puede contener hasta 5 dgitos, con lo que tiene una precisin de 5.

    La escala del nmero (slo tipos de datos numricos).La escala es el mximo nmero de dgitos a la derecha del separador decimal. Porejemplo, un objeto int no puede aceptar un separador decimal y tiene una escala de0. Un objeto money puede tener hasta 4 dgitos a la derecha del separador decimal ytiene una escala de 4.Si un objeto se define como money, puede contener hasta 19 dgitos y 4 de ellospueden estar a la derecha del decimal. El objeto usa 8 bytes para almacenar losdatos. Por tanto, el tipo de datos money tiene una precisin de 19, una escala de 4 yuna longitud de 8.

    Utilizar datos binarios

    Los tipos de datos binary y varbinary almacenan cadenas de bits. Mientras que losdatos de carcter se interpretan segn la pgina de cdigos de SQL Server, los datosbinary y varbinary son, simplemente, un flujo de bits. Los datos binary y varbinarypueden tener una longitud de hasta 8.000 bytes.

    Las constantes binarias tienen un 0x (un cero y una letra x en minsculas) a la izquierda,seguido de la representacin hexadecimal del patrn de bits. Por ejemplo, 0x2Aespecifica el valor hexadecimal 2A, que es equivalente al valor decimal 42 o un patrnde bits de un byte de 00101010.

    La siguiente es una tabla que describe los tipos de datos provistos por SQL Server:

  • 8/15/2019 E-Book SQL 2000

    67/193

  • 8/15/2019 E-Book SQL 2000

    68/193

    Categora Descripcin Tipo de Dato Descripcin

    binaryLa data debe tener una longitudfija (hasta 8 KB).

    varbinaryLos datos pueden variar en elnmero de dgitoshexadecimales (hasta 8 KB).

    Binario

    Almacenan cadenas debits. La data consiste denmeros hexadecimales.Por ejemplo el decimal245 es F5 en

    hexadecimal.image

    La data puede tener unalongitud variable y exceder los8Kb.

    charLos datos deben tener unalongitud fija (Hasta 8 KB).

    varcharLa data puede variar en elnmero de caracteres (Hasta 8KB.)

    Caracter

    Consisten de unacombinacin de letras,smbolos y nmeros. Porejemplo lascombinaciones "John928"y "(0*&(%B99nh jkJ".

    textLos datos pueden ser caracteresASCII que excedan los 8 KB.

    DatetimeFechas en el rango 01 Ene1753 hasta el 31 Dic 9999 (Serequiere 8 bytes por valor).Fecha y

    Hora

    Consisten encombinaciones vlidas deestos datos.No puede separar en tiposdistintos elalmacenamiento de slofechas o slo horas.

    smalldatetimeFechas en el rango 01 Ene 1900hasta 06 Jun 2079 (Se requiererequires 4 bytes por valor).

    decimal

    Los datos pueden tener hasta 38dgitos, todos los cuales podranestar a la derecha del puntodecimal. Este tipo de datoguarda un valor exacto del

    nmero y no una aproximacin.

    Decimal

    Consisten en informacinque almacenainformacin significativadespus del puntodecimal.

    numericPara SQL Server, el tipo dedato numeric es equivalente altipo de datos decimal.

    floatDatos en el rango de 1.79E +308 hasta 1.79E + 308.Punto

    Flotante

    Nmeros aproximados(Punto flotante).

    realDatos en el rango de 3.40E +38 hasta 3.40E + 38.

    bigint

    Datos en el rango de 2^63 (9223372036854775808) hasta2^631

    (9223372036854775807). Serequieren de 8 bytes paraalmacenar estos valores.

    Enteros

    Consiste en informacinnumrica positiva onegativa como por

    ejemplo 5, 0 y 25.

    int

    Datos en el rango de -2,147,483,648 hasta2,147,483,647. Se requie