Sql server desde0

download Sql server desde0

If you can't read please download the document

Transcript of Sql server desde0

  • 1. SQL SERVER DESCRIPCIN DEL ENTORNO Y CREACIN DE BASESDE DATOS...........................................................................................................5Introduccin a SQL Server 2000 .................................................................................................................5Ediciones e Instalacin de SQL Server .......................................................................................................9Ediciones SQL Server 2000........................................................................................................................9Instalacin de SQL Server........................................................................................................................11Alguna edicin de Windows 2000 Server..................................................................................................11Server y client tools......................................................................................................................................12Pasos para la instalacin sobre Windows NT Server..........................................................................12Verificar la instalacin de SQL Server................................................................................................22Modos de autenticar las cuentas de los usuarios......................................................................................26INICIO DE SESIN.................................................................................................................................26Para modificar la autenticacin realice los siguientes pasos:.................................................................26Usuarios de Base de Datos .......................................................................................................................30Roles por Servidor ...............................................................................................................................32Dbcreator......................................................................................................................................................32Roles por Base de Datos ......................................................................................................................33BASES DE DATOS DE SQL SERVER.............................................................34Objetos de una Base de Datos.....................................................................................................................34Creacin 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 ..................................................................................................................42Desde 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..........................................................................................................63CREACIN DE TABLAS...................................................................................65Temas:...........................................................................................................................................................65Tipos de Datos de SQL Server 2000 ..........................................................................................................66Utilizar datos binarios...............................................................................................................................66Tipos de datos definidos por el usuario...............................................................................................70Empleo de Comandos DDLL (Data Definition Language).....................................................................73Tablas del Sistema ....................................................................................................................................73Tablas del Usuario .......................................................................................................................................73Permanentes ..............................................................................................................................................74Temporales................................................................................................................................................74

2. Creacin de tablas........................................................................................................................................74Consideraciones al crear tablas.................................................................................................................74Modificacin de la estructura de las tablas ..............................................................................................79Valores autogenerados para las columnas................................................................................................82Propiedad Identity................................................................................................................................82Funcin NEWID y Datos de tipo UNIQUEIDENTIFIER..................................................................83Eliminacin de tablas...........................................................................................................................83Implementar Restricciones .......................................................................................................................85Definir restrinccin PRIMARY KEY .................................................................................................87Definir FOREIGN KEY Constraint ....................................................................................................89Definir CHECK CONSTRAINT..............................................................................................................90Implementar DEFAULT CONSTRAINTS..............................................................................................91DIAGRAMA DE BASE DE DATOS...................................................................94RECUPERAR INFORMACIN..........................................................................97Objetivos:......................................................................................................................................................97Temas:...........................................................................................................................................................97Select.........................................................................................................................................................97Insert........................................................................................................................................................105Update .....................................................................................................................................................105Delete ......................................................................................................................................................106Recuperar informacin de dos o ms tablas (Joins)..............................................................................107Desencadenadores......................................................................................................................................110Asignar Roles y/o Permisos Comandos Dcl (Data Control Language) ............................................112EJERCICIOS PROPUESTOS.................................................................................................................118IMPLEMENTAR VISTAS Y PROCEDIMIENTOS ALMACENADOS..............128Qu es una vista?......................................................................................................................................128Agregar, Modificar y Eliminar una Vista...............................................................................................130Crear Vistas.............................................................................................................................................130Modificar Vistas......................................................................................................................................134Eliminar Vistas........................................................................................................................................136Procedimientos Almacenados...................................................................................................................138Crear, Modificar y Eliminar un Procedimiento Almacenado................................................................139Crear Procedimientos Almacenados..................................................................................................139Modificar Procedimientos Almacenados ..........................................................................................145Eliminar Procedimientos Almacenados.............................................................................................146Funciones en SQL Server 2000 (1/2) .......................................................................................................147Tipos de funciones..................................................................................................................................147Funciones Escalares...........................................................................................................................147Funciones de tabla en lnea................................................................................................................148Las funciones de tabla de multi sentencias........................................................................................148Llamando Funciones...............................................................................................................................149Limitaciones............................................................................................................................................149Columnas computadas............................................................................................................................149 3. GLOSARIO ......................................................................................................151REFERENCIA DEL TRANSACT-SQL ............................................................153TIPOS DE VALOR ...................................................................................................................................153Utilizar datos char y varchar...................................................................................................................153Utilizar 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......................................................................................................162Funciones ....................................................................................................................................................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 .........................................................................................................171ACOS y COS .....................................................................................................................................172ASIN y SIN........................................................................................................................................172ATAN , ATN2, TAN y COT.............................................................................................................172DEGREES..........................................................................................................................................172RADIANS..........................................................................................................................................173Comparacin de CEILING y FLOOR...............................................................................................173Comparacin de LOG y LOG10........................................................................................................173Utilizar las funciones exponenciales POWER y EXP ...........................................................................173Utilizar RAND........................................................................................................................................173Funciones de fecha..................................................................................................................................174Utilizar GETDATE............................................................................................................................174Comparacin de DATEPART y DATENAME ................................................................................175Comparacin de DATEADD y DATEDIFF.....................................................................................175Funciones 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.........................................................................................................................180El parmetro estilo .............................................................................................................................183Expresiones.................................................................................................................................................183Utilizar operadores en expresiones.........................................................................................................184Operadores aritmticos ......................................................................................................................185Operadores binarios ...........................................................................................................................186Operadores de comparacin...............................................................................................................186Operador de concatenacin de cadenas.............................................................................................188Valores NULL.........................................................................................................................................189Miscelaneo...................................................................................................................................................190Utilizar comentarios................................................................................................................................190 4. UPDATE Products.........................................................................................................192Utilizar palabras clave reservadas ..........................................................................................................192Sinnimos................................................................................................................................................192 5. SQL Server Descripcin del Entorno y Creacin de Bases deDatosObjetivos: Entender que es SQL Server Requisitos de Hardware y Software Seguridad Crear bases de datosTemas: 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 DatosIntroduccin a SQL Server 2000SQL 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. 6. 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 servidorresponsable 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 laorganizacin 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. 7. 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 warehouses y 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. 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 objetosque permite administrar aplicaciones scripts para 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 unapregunta 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 DataServices proveen tres estndares: Meta Data Coalition Open Information Model (MDCOIM), Interfaces COM y XML Encoding.Adems de ello cuenta con la documentacin apropiada para poder obtener informacindetallada de cada uno de los tpicos de SQL Server. 9. Componentes de SQL Server 2000Ediciones e Instalacin de SQL ServerEdiciones SQL Server 2000SQL 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 10. Entre las caractersticas ms destacadas que no se encuentran disponiblespara los servicios de anlisis:Definicin de cubos particionadosCubos OLAP enlazadosSoporte para dimensiones ROLAPCeldas 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. Estimplementacin permite que SQL Server 2000 CE soportar ActiveX DataObjects 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 recordset y enviarlas a una instancia de SQL Serverinclusive 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 podrejecutarla 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. 11. Instalacin de SQL ServerAntes de instalar SQL Server 2000 es necesario conocer cuales son los requisitosmnimos para instalar este producto, el siguiente cuadro muestra los requerimientos parainstalar 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 lared)CD-ROM Requerido para la instalacinPara determinar correctamente el requerimiento de memoria, emplear la siguiente tabla:Enterprise Estndar Evaluation DeveloperPersonal yDesktopEngineAlgunaedicin deWindows 2000Server256 MB (128MBsoportado)256 MB (128MBsoportado)256 MB (128MBsoportado)256 MB (128MBsoportado)256 MB (128MBsoportado)Alguna edicinde Windows NT4.0 Server conSP5 o posterior128 MB (64MBsoportado)64 MB128 MBrecomendado(64 MBsoportado)64 MB 32 MBWindows 2000ProfessionalN/A N/A128 MBrecomendado(64 MBsoportado)64 MB 64 MBWindows NT 4.0Workstation, conSP5 o posteriorN/A N/A128 MBrecomendado(64 MBsoportado)64 MB 32 MBWindows ME N/A N/A N/A N/A 32 MBWindows 98 N/A N/A N/A N/A 32 MBComo 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: 12. Opcin de InstalacinseleccionadaEspacio en disco requeridoServer y client tools 95-270 MB dependiendo de las opciones seleccionadasInstalacin Typical250 MB (178 MB para el sistema, ms 72 MB paraprogramas y archivos de datos)Instalacin mnima110 MB (73 MB para el sistema, ms 37 MB paraprogramas y archivos de datos)Herramientasadministrativas113 MB (sistema solamente)BoAceptars Online 30 MB (sistema solamente)Analysis Services 47 MB mnimo 120 MB typicalEnglish Query 80 MBSlo Desktop Engine 44 MBPasos para la instalacin sobre Windows NT ServerColoque el CD de instalacinAparecer la siguiente pantallaDespus se presentar la siguiente pantalla: 13. 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: 14. 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: 15. 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): 16. 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: 17. 3. Luego de pulsar Siguiente (Siguiente), tendr la posibilidad de seleccionar eltipo 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): 18. 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: 19. A continuacin podr determinar el conjunto de caracteres con los cuales trabajar,asimismo podr determinar si las consultas distinguirn o no las maysculas de lasminsculasActivar las libreras de red de acuerdo a los usuarios que tendr su origen de datos: 20. 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: 21. Verificar la instalacin de SQL ServerUna 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: 22. 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. 23. 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: 24. Modos de autenticar las cuentas de los usuariosSQL 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 SESINTodos 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 quesern 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. 25. 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 26. 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. 27. 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: 28. Ahora que conocemos el entorno podemos digitar las siguientes sentencias para podercrear un nuevo Inicio de sesin:/* Activar Base de datos */Use MasterGO/* Crear nuevos login */Sp_Addlogin mhidalgo, mhidalgoGOSp_Addlogin Usuario01, contraseaGO/* Comprobar la creacin del nuevo login */Select Name From SysloginsGONOTA: 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 DatosUna 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. 29. 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 unrol.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 UsuariosSeleccione un Inicio de sesin de la lista y pulse Aceptar. 30. Tambin es posible realizar esta tarea desde el Analizador de Consultas para elloemplee la siguiente secuencia de instrucciones:Use NorthwindGOSp_GrantDBAccess Usuario01GOAdems 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 DescripcinDbcreatorCrea 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. 31. Roles por Base de DatosRol Descripcinpublic Mantiene los permisos En formapredeterminada para todos los usuarios.db_owner Realiza cualquier actividad en la BDdb_accessadmin Agrega o retira usuarios y/o rolesdb_ddladmin Agrega, modifica o elimina objetosdb_SecurityAdmin Asigna permisos sobre objetos o sobresentenciasdb_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 32. Bases de Datos de SQL ServerSQL 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 lasoperaciones 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 33. 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 identificarlos 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 34. 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. UnDesencadenador 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 tenersolamente 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. 35. Creacin de Base de DatosEn 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. 36. Pginas y extensionesAntes 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 decada 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 ContenidoDatosFilas 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 globalSecundarioInformacin acerca de las extensiones asignadas.Espacio libre en la pginaInformacin acerca del espacio libre disponible enlas pginas.Mapa de asignacin dendices.Informacin acerca de las extensiones utilizadaspor una tabla o un ndice 37. Bulk Changed MapInformacin de los extends modificados poroperacin bulk desde el ltimo backup del log.Differential Changed MapInformacin 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. 38. 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 datosUn 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 quesuceden 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). 39. 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 deCHECKPOINT, 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). 40. 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 DatosSe puede crear una base de datos de distintas maneras, utilizando el Wizard, desde elAdministrador Empresarial o a travs del Query Analizer.Desde el AsistenteIngrese al Administrador Empresarial y seleccione la carpeta Bases De Datos, tal comolo muestra la figura 41. 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: 42. 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: 43. 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: 44. 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; 45. 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. 46. Desde el Administrador EmpresarialOtra 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: 47. Para especificar la informacin referente al archivo de datos, haga un clic en la fichaData Files y complete la siguiente informacin: 48. Para poder especificar las caractersticas del archivo de log, haga clic en la fichaTransaction Log: 49. 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 ConsultasOtra 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 [PRIMARYNAME = nombreArchivoLgico,FILENAME = nombreArchivoSO,SIZE = tamao,MAXSIZE = { tamaoMximo | UNLIMITED } ,FILEGROWTH = incrementoCrecimiento) [,n]][ LOG ONNAME = nombreArchivoLgico,FILENAME = nombreArchivoSO,SIZE = tamao,MAXSIZE = { tamaoMximo | UNLIMITED } ,FILEGROWTH = incrementoCrecimiento) [,n] 50. [COLLATE nombre_collation] [ FOR LOAD | FOR ATTACH ]ArgumentosnombreBaseDatosEs el nombre de la nueva base de datos, deben ser nicos en un servidor y pueden tenerhasta 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 contienetodas 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 porel 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 ATTACH directamente, esto deber emplearlo si debeespecificar ms de 16 archivos. 51. 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 instalacinNAMEEspecifica 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 sufijosKB 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 emplearFILEGROWTH, el valor predeterminado es 10% y el valor mnimo es 64 KB. Eltamao especificado se redondea al mltiplo de 64 KB ms cercano.ObservacionesEmplee CREATE DATABASE para crear una base de datos y los archivos quealmacenan sta. SQL Server implementa CREATE DATABASE en dos pasos: 52. 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 ConsultasPrimero ingrese al Analizador de Consultas para ello primero debe especificar el tipode autentificacin a realizar del sistema o estndar, vea la siguiente figura: 53. Ejemplo 1Crear la base de datos Prueba1 con los parmetros En forma predeterminada.Use MasterGOCreate Database Prueba1GOVerifique 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 Prueba1GODebe 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.0Adems se mostrar un informe con los archivos que se crearon automticamente: 54. Columnas Archivo de datos Archivo de Logname prueba1 prueba1_logfileid 1 2filenameC:Program FilesMicrosoftSQLServerMSSQLdataPrueba1.mdfC:Program FilesMicrosoft SQLServerMSSQLdataPrueba1_Log.ldffilegroup PRIMARY NULLsize 640Kb 504Kbmaxsize Unlimited Unlimitedgrowth 10% 10%usage data only log onlyEjemplo 2Crear 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 pordefault.Use MasterGOCreate Database Prueba2On Primary(NAME = Prueba2_Data,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataPrueba2 _Data.Mdf,SIZE = 10Mb,MAXSIZE = 20Mb,FILEGROWTH= 1Mb)GOVerifique la creacin de la base de datos anterior:Sp_HelpDB Prueba2GOPuede 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.Ejemplo 3Crear la base de datos Prueba3 especificando un archivo de datos con un tamao inicialde 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 MasterGOCreate Database Prueba3On Primary(NAME = Prueba3_Data, 55. FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataPrueba3 _Data.MdfSIZE = 15Mb,MAXSIZE = 30Mb,FILEGROWTH= 5Mb)Log On(NAME = Prueba3_Log,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataPrueba3 _Log.LdfSIZE = 5Mb,MAXSIZE = 10Mb,FILEGROWTH= 1Mb)GO-- Verifique la informacin con :Sp_HelpDB Prueba3GOOtra de las formas de comprobar la creacin de las bases de datos es mostrando las filasde la tabla del sistema SysDatabases.Use MasterGOSelect DbID, Name From SysDatabasesGORevise los resultados.Creando Mltiples ArchivosLa 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 nuevosgrupos de archivos los cuales permitirn tratar mltiples archivos como si se tratar deuno solo.Para poder realizar esta tarea emplee la sentencia ALTER DATABASESintaxisALTER DATABASE NombreBD 56. { ADD FILE [,n] [TO FILEGROUPnombreGrupoArchivos]| ADD LOG FILE < [,n]| REMOVE FILE nombreArchivoLgico| ADD FILEGROUP nombreGrupoArchivos| REMOVE FILEGROUP nombreGrupoArchivos| MODIFY FILE [ ,...n ] [ WITH < termination > ]| COLLATE < collation_name > }ArgumentosADD FILEEspecifica que se est agregando un archivo.TO FILEGROUPEspecifica el grupo de archivos al que debe agregarse el archivo especificado.ADD LOG FILEEspecifica que se agregue un archivo de registro a la base de datos indicada.REMOVE FILEElimina 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 FILEGROUPEspecifica que se va a agregar un grupo de archivos.REMOVE FILEGROUPQuita el grupo de archivos de la base de datos, no se puede realizar si el grupo dearchivos no est vaco.MODIFY FILEEspecifica 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 propiedadGrupoArchivosEspecifica la propiedad que se aplicar a los archivos que pertenecen al grupo dearchivos. 57. Los valores de propiedadGrupoArchivos son:READONLYEspecifica que el grupo de archivos es de slo lectura. De tal manera que no sepodrn realizar modificaciones sobre los archivos pertenecientes a este grupo.READWRITEInvierte la propiedad READONLY. Estn habilitadas las actualizaciones para losobjetos del grupo de archivos.DEFAULTEspecifica 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.Ejemplo 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 masterGOALTER DATABASE Prueba2ADD FILE(NAME = Prueba2Sec_Data,FILENAME = C:Program FilesMicrosoft SQL ServerMSSQLdataPrue2Data.ndf,SIZE = 5MB,MAXSIZE = 10MB, 58. FILEGROWTH = 1MB)GOSp_HelpDB Prueba2GO-- Compare los resultados con los anterioresSi desea informacin de los archivos, emplee la siguiente sentencia:Use Prueba2GOSp_HelpFileGOSi desea ver las caractersticas slo del archivo que agrego utilice la siguientesentencia:Sp_HelpFile Prueba2Sec_DataGO/* El resultado le mostrar informacin del archivo que acaba de agregar */Ejemplo 2Crear dos grupos de archivos en la base de datos Prueba2, el primer grupo se llamarCONSULTORES y el otro se llamar OPERACIONES.ALTER DATABASE Prueba2ADD FILEGROUP ConsultoresGOALTER DATABASE Prueba2ADD FILEGROUP OperacionesGO-- Verifique la informacin con las siguientes instrucciones:Use Prueba2GOSp_HelpFileGroupGOSe mostrar el siguiente resultado:groupname groupid filecountConsultores 2 0Operaciones 3 0PRIMARY 1 2Ejemplo 3A 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 59. 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 MasterGOALTER DATABASE Prueba2ADD FILE(NAME = DatCons01,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataDatCons1.ndf,SIZE = 10MB,MAXSIZE = 20MB,FILEGROWTH = 2MB),(NAME = DatCons02,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataDatCons2.ndf,SIZE = 10MB,MAXSIZE = 20MB,FILEGROWTH = 2MB),TO FILEGROUP CONSULTORESGOALTER DATABASE Prueba2ADD FILE(NAME = DatOper01,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataDatOper1.ndf,SIZE = 5MB,MAXSIZE = 30MB,FILEGROWTH = 5MB),(NAME = DatOper02,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataDatOper2.ndf,SIZE = 5MB,MAXSIZE = 30MB,FILEGROWTH = 5MB),TO FILEGROUP OPERACIONESGOUna vez que ejecuta estas sentencias, verifique la informacin con la siguienteinstruccin:Use Prueba2GOSp_HelpFileGroupGOgroupname groupid filecountConsultores 2 2Operaciones 3 2PRIMARY 1 2 60. Si desea informacin de un grupo de archivos en particular, utilice:Sp_HelpFileGroup OperacionesGOEjemplo 4Modificar el tamao del DatOper01 asignndole como nuevo tamao mximo 40 Mb.Use MasterGOALTER DATABASE Prueba2MODIFY FILE( NAME = DatOper01,MAXSIZE = 40Mb)GO-- Para verificar el cambio emplee la siguiente instruccin:Sp_HelpFile DatOper01GOEjemplo 5Eliminar el archivo DatOper01.Use MasterGOALTER DATABASE Prueba2REMOVE FILE DatOper01GOEjemplo 6Hacer que el grupo de archivos Operaciones sea el grupo En forma predeterminada.Use MasterGOALTER DATABASE Prueba2MODIFY FILEGROUP Operaciones DEFAULTGOCuando 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]Ejemplo 7Eliminar la base de datos Prueba2.Use Master 61. GODROP DATABASE Prueba2GORevisar la tabla SysDatabases, verifique que se elimino la entrada de Prueba2Ejemplo 8Eliminar la base de datos Prueba1 y NuevoNombreUse MasterGODROP DATABASE Prueba1, NuevoNombreGORevisar la tabla SysDatabases, verifique que se elimino la entrada de Prueba2Use MasterGOSelect Name From SysDatabasesGORenombrando Base de DatosPara 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 enDatabases, luego ingrese al Analizador de Consultas con una cuenta de administrador(Windows authentication) o con la cuenta sa :/* Comprueba la presencia de Prueba3 */Use MasterGOSelect name From SysDatabasesGOEl resultado sera:NamemastertempdbmodelmsdbpubsNorthwindPrueba3Prueba1Prueba2 62. /* Para renombrar active la opcin Single User en la Base de datos arenombrar */Sp_DBOption Prueba3, Single User, TrueGOEl resultado sera:DBCC execution completed. If DBCC printed error messages, contact your systemadministrator.The database is now single usuario./* En este instante la base de datos puede ser renombrada */Sp_RenameDB Prueba3, NuevoNombreGOEl 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 el correcto renombrado de la base de datos y luego retire laopcin single usuario de la base de datos */Select Name From SysDatabasesGOSp_DBOption NuevoNombre, Single Usuario, TrueGO 63. Creacin de TablasObjetivos: Determinar Tipos de datos de SQL Server a utilizar en las tablas Implementacin de tablas, establecer restricciones Asignar permisosTemas: 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) 64. Tipos de Datos de SQL Server 2000SQL Server brinda una serie de tipos de datos para almacenar la informacin, lacorrecta seleccin del tipo de dato es simplemente una cuestin de determinar quevalores 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 tipointeger.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 binariosLos 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: 65. Categora Descripcin Tipo de Dato DescripcinbinaryLa data debe tener una longitudfija (hasta 8 KB).varbinaryLos datos pueden variar en elnmero de dgitoshexadecimales (hasta 8 KB).BinarioAlmacenan cadenas debits. La data consiste denmeros hexadecimales.Por ejemplo el decimal245 es F5 enhexadecimal.imageLa 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.)CaracterConsisten 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 yHoraConsisten 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).decimalLos datos pueden tener hasta 38dgitos, todos los cuales podranestar a la derecha del puntodecimal. Este tipo de datoguarda un valor exacto delnmero y no una aproximacin.DecimalConsisten 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.PuntoFlotanteNmeros aproximados(Punto flotante).realDatos en el rango de 3.40E +38 hasta 3.40E + 38.bigintDatos en el rango de 2^63 (9223372036854775808) hasta2^631(9223372036854775807). Serequieren de 8 bytes paraalmacenar estos valores.EnterosConsiste en informacinnumrica positiva onegativa como porejemplo 5, 0 y 25.intDatos en el rango de -2,147,483,648 hasta2,147,483,647. Se requieren de4 bytes para almacenar estosvalores. 66. Categora Descripcin Tipo de Dato DescripcinsmallintDatos en el rango de 32,768hasta 32,767. Se requieren 2bytes por cada valor de estetipo.tinyintDatos entre 0 y 255, se requierede 1 byte.moneyDatos monetarios entre 922,337,203,685,477.5808 y+922,337,203,685,477.5807(Se requieren 8 bytes porvalor).MonetarioCantidades monetariaspositivas o negativas.smallmoneyDatos monetarios entre 214,748.3648 y 214,748.3647(Se requieren de 4 bytes porvalor).bitDatos que consisten de 1 o 0.Emplear este tipo de dato pararepresentar TRUE o FALSE YES o NO.cursorEste tipo de dato es empleadopor variables o procedimientosalmacenados que empleanparmetros OUTPUTreferenciados a un cursor.timestampEste tipo de dato es empleadopara indicar la actividad queocurre sobre una fila. Lasecuencia de este nmero seincrementa en formato binario.uniqueidentifierConsiste en un nmerohexadecimal que especifica unglobally unique identifier(GUID), es til cuando se deseaasegurar la unicidad de una filaentre muchas otras.SQL_variantAlmacena varios tipos de datos,a excepcin de text, ntext,timestamp, image y sql_variant.EspecialesConsisten en informacinque no recae en ningunade las categorasanteriormentemencionadas.tableAlmacena un resultado de unaconsulta para su posteriorprocesamiento. Se puedeemplear para definir variableslocales de tipo table o pararetornar los valores devueltospor una funcin del usuario.UnicodeAl emplear este tipo dedatos se puede almacenarncharDatos con longitud fija, hasta4000 caracteres Unicode. 67. Categora Descripcin Tipo de Dato DescripcinnvarcharDatos que pueden variar, hasta4000 caracteres Unicode.sobre una columnavalores que incluyan esteconjunto de caracteres.Hay que recordar que losdatos Unicode empleandos bytes por cadacarcter a representar.ntextDatos que exceden los 4000caracteres Unicode.Tipos de datos definidos por el usuarioLos tipos de datos definidos por el usuario estn basados en los tipos de datosdisponibles a travs de SQL Server 2000. Los tipos de datos definidos por el usuario sepueden emplear para asegurar que un dato tenga las mismas caractersticas sobremltiples tablas.Para crear un tipo de dato puede emplear el Administrador Empresarial expandiendo labase de datos donde desea crear el dato, luego deber hacer un clic derecho sobre Tiposde datos definidos por el Usuario y seleccionar Nuevo tipo de datos definido por elusuario, tal como lo muestra la siguiente representacin: 68. Complete la caja de dilogo, tal como lo muestra la siguiente representacin:Desde el Analizador de Consultas puede emplear el stored procedure del sistemaSP_ADDTYPE cuya sintaxis es la siguiente:sp_addtype [@typename =] tipo,[@phystype =] tipoDatosSistema[, [@nulltype =] tipoNull]Argumentos[@typename =] tipoEs el nombre para el tipo de datos definido de usuario, deben ser nicos en cadabase de datos.[@phystype =] tipoDatosSistemaEs el tipo de datos proporcionado por SQL Server, (decimal, int, etc.) en el que sebasa el tipo de datos del usuario.[@nulltype =] tipoNullIndica la forma en que el tipo de datos del usuario trata los valores nulos. Esteargumento puede tener como valor NULL, NOT NULL o NONULL. Si no sedefine explcitamente tipoNull, se establece de acuerdo al criterio predeterminadopara valores nulos.Ejemplo 1En este ejemplo se crear la base de datos Ejemplo y en ella se definir el tipo de datosRUC de tipo char(11) el cual no permitir valores NULL.USE masterGOCREATE DATABASE Ejemplo 69. ON PRIMARY(NAME = Ejem_Data,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataEjemData.Mdf,SIZE = 20Mb,MAXSIZE = 40Mb,FILEGROWTH = 2Mb)LOG ON(NAME = Ejem_Log,FILENAME = C:Program FilesMicrosoft SQLServerMSSQLdataEjemLog.Ldf,SIZE = 5Mb,MAXSIZE = 10Mb,FILEGROWTH = 1Mb)GOUse EjemploGOSp_Addtype RUC, CHAR(11), NOT NULLGOPara verificar que el tipo de dato se ha creado exitosamente, ejecute la siguienteconsulta:Select * From SystypesGOEjemplo 2En este ejemplo se crear el tipo de datos Onomstico de tipo datetime y que permitirvalores NULL.EXEC sp_addtype Onomastico, datetime, NULLGOLos tipos de datos que se agregan son inscritos en la tabla systypes, estos tipos dedatos son eliminados con el procedimiento almacenado del sistema sp_droptype.sp_droptype [@typename =] tipode datoEjemplo:Use EjemploGOSp_droptype OnomasticoGOSelect * From SystypesGOSp_droptype RUCGOSelect * From SystypesGO 70. Empleo de Comandos DDLL (Data Definition Language)SQL Server 2000 emplea las tablas como objetos de almacenamiento de datos que losusuarios manipulan a travs de sus aplicaciones o va web.Las tablas son objetos compuestos por una estructura (conjunto de columnas) quealmacenan informacin interrelacionada (filas) acerca de algn objeto en general.Las tablas se definen para los objetos crticos de una base de datos, por ejemploCLIENTES y su estructura estara conformada por cada uno de los atributos que serequieran de los clientes para poder obtener informacin de ellos, como por ejemplo:nombres, direcciones, telfonos, celular, ruc, etc.Cada uno de estos atributos tiene un tipo de dato definido y adems la tabla debepermitir asegurar que cada cdigo de producto es nico en la misma, para asegurarse deno almacenar la informacin del mismo cliente dos veces.Las tablas suelen estar relacionadas entre s, para facilitar el hecho de consultas entremltiples tablas.Podemos distinguir los siguientes tipos de tablas:Tablas del SistemaLa informacin usada por SQL Server y sus componentes son almacenadas en tablasespeciales denominadas como tablas del sistema. Estas tablas no deben alterarsedirectamente por el usuarioSi desea obtener informacin almacenada en las tablas del sistema debe usar: Informacin de la vista esquema (schema view). Procedimientos Almacenados de sistema. Instrucciones Transact-SQL y funciones. SQL-DMO. Catlogo de funciones API.Las tablas del sistema almacenan informacin, llamada Metadata, acerca del sistema yde los objetos de las bases de datos. Todas las tablas del sistema comienzan con elprefijo SYS.Ejemplo:SELECT * FROM SYSUSUARIOSTablas del Usuario 71. PermanentesSon las tablas donde se almacena la informacin que los usuarios utilizan para susoperaciones. Esta informacin existir hasta que se elimine explcitamente.TemporalesEstas son tablas similares a las permanentes que se graban en tempdb, y son eliminadasautomticamente cuando ya no son usadas.Hay dos tipos de tablas temporales, locales y globales, difieren una de la otra en susnombres, su visibilidad y su mbito de vida. Tablas Temporales Locales. El primer carcter del nombre de #, su visibilidades solamente para la conexin actual del usuario y son eliminadas cuando elusuario se desconecta. Tablas Temporales Globales. Su nombre comienza con ##, su visibilidad espara cualquier usuario, y son eliminadas luego que todos los usuarios que lareferencian se desconectan del SQL Server.Creacin de tablasCuando se crea una tabla debe asignarle un nombre a la misma, un nombre a cadacolumna adems de un tipo de datos y de ser necesaria una longitud.Adicional a las caractersticas antes mencionadas, SQL Server 2000 nos brinda laposibilidad de implementar columnas calculadas, definindolas como frmulas.Los nombres de las columnas deben ser nicos en la tablaConsideraciones al crear tablas billones de tablas por base de datos 1024 columnas por tabla 8060 es el tamao mximo de registro (sin considerar datos image, text y ntext) Al momento de definir una columna se puede especificar si la columna soporta ono valores NULL.Para crear tablas debe utilizar la sentencia CREATE TABLE, cuya sintaxis es lasiguiente:CREATE TABLE ( Nom_Columna1 Tipo_de_Dato [NULL l NOT NULL],Nom_Columna2 Tipo_de_Dato [NULL l NOT NULL],Nom_Columna3 As formula ...)GOTambin puede crear sus tablas desde el Administrador Empresarial, para ello extiendala carpeta Tablas de la base de datos donde crear la tabla, haga clic derecho yseleccione Nueva Tabla, tal como lo indica la siguiente representacin: 72. Aparecer la siguiente caja de dilogo, complete de acuerdo a la representacin: 73. Cuando finalice pulse el icono de grabar y asigne el nombre de acuerdo a larepresentacin:Luego de pulsar Aceptar, pulse la combinacin Ctrl-F4 y podr observar que el iconocor