You are on page 1of 28
Ta Micresoft Curso tedrico y practico de programacion Desarrollador crcatce an gle La mejor forma de aprender 9.7. f.fF a programar desde cero Basado en el programa Desarroltador Cinco Estrellas de Microsoft Bases de datos ¢= Sistema relacional - Diagrama entidad/relacion - Normalizacion Lenguaje 6) We) o) cto Co lei creteyy aera) lola ieln alle) e\ass Consultas de insercién - Actualizacién g N°1 DE =n ers Wea eee Rea “heed eed a PAU Mai bir MT ND a OHO HA ° aS UL aC Te USS p51) NOE sens i A Seguinos en: € redusers.com (srcscs-" g : www,youtube.com/redusersvideos. WA A SQL Server Management Studio Express Esta herramienta grafica nos servira para r tare Es posible administrar el servidor SQL Ser- ver mediante distintas herramientas que vie nen incluidas en el mismo producto. Algunas de ellas se manejan desde la linea de coman do, como SQLCMD, en tanto que oteas son visuales, Management Studio Express es una herramienta visual, caracteristica que nos permitiré administrar nuestros servidores SQL de manera muy sencilla, No viene por defecto con SQL Server 2005 Express, por lo cual debemos descargatla desde el sitio de Microsoft, en a siguiente diteccién: hetp:/ /msdn.mierosott.com/estudio/ express/sql/download (el tamaio del archivo es de aproximadamente 40) MB). Instalacion de Management Studio Express ccutamos el archivo descargado desde la jpglaa Webide Microiaf para iliar tna laciéa de esta herramienta, Como veremos a continuacién, los pasos que debemos seguir son muy sencillos. cet ed alizar las distintas as de administracién que un desarrollador debe llevar a cabo. En la primera pantalla, se nos da la bicaveni- da y, a continuacién, se muestra el contrato de licencia de usuario final. 1Lo aceptamos y presionamos el hotén Siguiente [Pnesorae ietauvegvarraenigesraee ar eaton Ele curva at tenant yur gran ets ao, Fesoveranietees Ce Ea Es nego, el sistema mmestra la informaciéa de registro, y nos pide nuestto nombre y el de la compafifa en la que ttabajamos. Completamos lo que corresponda y presionamos Siguiente, Acto seguido, el sistema muestra la aplica Gi6n que seri instalada. Presionamos Siguien- te, y se nos notifica en pantalla que est Al momento de escribir esta obra, Microsoft Pe Saas Oe eee ca ene see cacao ance wn es 97 punto de iniciarse la instalacién, Continua- ‘mos con un clic en Siguiente otra vez. Se ini- cia la instalacién de Management Studio Express con todos sus componentes. Al finalizar el proceso, se nos notifica en pantalla, y se crea un icono llamado SQL. Server Management Studio Express, para ac- coder a esta aplicacién desde el grupo de programas Microsoft SQL. Server 2005. Iniciando el programa Para comenzar a trabajar, activamos la herta- mienta desde Inicio/Programas/ Microsoft SQL Server 2005/Management Studio Express, Se abre en pantalla una ventana que nos pide informacién para conectarnos a un servidor. + Server Type (Tipo de servidor): Indica 2 qué tipo de servicio vamos a conectarnos. En Management Studio Express slo tene- Installing Microsoft SOL Server Management Studio Express. ‘The program festa you selected are beg ita, mos la opcidn de hacerlo a Database Engi- ne o bien a SQL. Server Compact Edition. + Server Name (Nombre del servidor): Indi- ca qué servidor nos estamos conectando. Podremos identificarlo con su nombre © mediante su direccién IP. Desplegando el combo de texto, aparecen los servidores que estan disponibles. Si en cl listado no figura el que precisamos, proba- ‘mos, en primera instancia, a escribir su nombre o IP en el cuadeo de texto. + Authentication (Tipo de autentificacién): En esta opcién debemos seleccionar qué tipo de identificacién usaremos con él cuando deseemos conectarnos. Las opcio- nes son sutentificacién Windows 0 SQL. La primera utiliza las eredenciales del usuario del sistema operativo, mientras que la segunda solicita el ingreso de un usuatio y contraseiia Luego de haber completado los datos anterior. ‘mente mencionados, y si no hubo ningiin error (como: No tener acceso al servidor, El FIGURA 008 | El proceso de descarga e instalacién de esta herramienta es ‘muy sencilla y resulearé lace wat hie the install Wizard etal Merocfe SQL Server Impreseindible para trabajar ‘Managemert Studo Expres. This may tke ever minutes a aasaia Z armen oe ——aas www.reduserspremium logspot.com.ar usuario no dispone de permisos de conexion, El Servidor ingresado es incorteeto 0 no se encuentra), podremos acceder a la herramienta Management Studio para empezar a utilizata Conocer la interfaz Management Studio posee una interfaz similar ala de Visual Studio 2005, lo cual nos seri de ‘gran ayuda en To que respe aprendizaje. Si bien hay diferencias considera- bles con las interfaces de las versiones antetio- res de SQL Server, setii muy sencillo adaptar- nos a esta tltima, porque es muy intuitiva, a su curva de PL SOL Server.2005 Server ype: ‘Server name: Authentication: User name: Pacsword FIGURA 008 | Esta pantalla Management Studio Express es una herramienta visual, que permite administrar nuestros servidores SQL de manera muy sencilla. Mentis de SQL Management Studio Ademas de los meniis en la aplicacién, disponemos de un panel izquierdo llamado BB Widows Server System Database Engine = [Windows Authentication ~ SULEMPRESS Wawra SCY) > Repenber pessword de inicio es donde Indieamos Cancel Help plone >> las propiedades de conexién. | Funciones de SQL Management Studio Ci siae nasa LE if iar pera reemplazany 99 [cariruo3] | Bases de datos EL PANEL OBJECT EXPLORER ES UNO DE LOS MAS IMPORTANTES DE LA APLICACION. LO UTILIZAREMOS PARA NAVEGAR POR LOS DISTINTOS OBJETOS Y COMPONENTES DEL SERVIDOR AL CUAL ESTAMOS CONECTADOS. Object Explorer, uno de los mis importan- Object Explorer tes de la aplicacién, dado que se utiliza paca navegar por los distintos objetos y compo A conti nentes del servidor al cual estamos conecta- de los componentes de Object Explorer: acién, haremos un pequefio repaso dos. Cada panel de que disponemos en Ma- agement Studio puede ubicarse en el lugar + Databases: Administracién de las bases de de la pantalla que mis comodo nos resulte, datos en el servidor, como: Crear, Elimi- simplemente, arrastrindolo desde la pestaiia nas, Cambiar nombre, Generar Scripts, y soltandolo donde queramos. Backup, Restore, entre otras funciones. | Secciones del entorno de desarrollo Manis de Management Statio Express {System Database: Componentes de (Object Explorer Componentes y menis de SQL Management Studio Express. + Security: Administrar el inicio de sesién y los roles de usuarios en el servidor: Crear, Eliminar, Modificar y Generar Scripts, entze otras, + Server Objects: Administra las opciones de los objetos del servidor: Backup Device, Linked Server (ervidores vineulados) y los DDL. trig gers de servidor (auevo en SQL 2005) + Replication: Administrar todo lo rclacionado: con la replicacién entre servidores: Publicado res, Susctiptores, ete + Management: Monitorco de la actividad del servidor, como asi también la posibilidad de ver el Event Log (registro de eventos ocurti- dos en el sistema). Caracteristicas y propiedades ‘Veamos a continuacién algunas propiedades y caracteristicas de una base de datos desde la herramienta SQL Management Studio Fx- press. Northwind, para quie: no la conocen, es una base de datos de ejemplo desarrollada por Microsoft. Si tenemos MS Access en nuestra computadora, veremos que en los ejemplos hay una base de datos con este mis- mo nombre. Ea las ve siones de SQL Server, Base de datos selecelonada Objet0 de base de dator Tibi WS TIVE Para agregar una nueva tabla en la base de datos activa, simplemente debemos crearla desde el ment contextual del mouse, haciendo clic sobre la base en cuestién y seleccionando New Table. Vine de los reqs pertenecientes ala abla Customers 101 [cariruo3] | Bases de datos 102 desde las primeras en adelante, también apa rece esta base de datos con tablas y regis- tos cargados, a modo de ejemplo. Podemos observar el contenido de esta base de datos desplegando el arbol desde Ia fle~ cha ubicada ala izquicrda del icono, Alli en- contraremos Database Diagrams, Table: Views, Synonyms, Programmability y Se- curity, todos ellos objetos de la base de da. tos, Al desplegar ‘Tables, veremos que se lis tan las tablas que la componen. Para acceder al contenido de una tabla ~por ejemplo, de fomers~, basta con hacer clic derecho sobre ella y, del menti contextual que se des: pliega, scleccionar la opcién View Table. Si queremos agregar una nueva tabla a la base Northwind, slo debemos crearla desde el ment contextual del mouse, haciendo clie sobre la base de datos y seleccionando New ‘Table. Para ver la definicién de una tabla Mcrae) Mend contextual para erear una nueva tabla os 7a agersa +n Tables existente —ya sea Nombre de los campos, ‘Tipos de datos, Longitud del campo, ete.-, abrimos el menit contextual sobre la tabla en cuestidn y elegimos Design. Esto mismo puede aplicarse a los ottos obje~ tos que componen la base de datos, como las vistas, de las cuales podremos ver su cédigo, , borratlas, ete. Conexion a otros servidores Obj més de un servidor al mismo tiempo, pero ct Explorer nos permite conectarnos a con distinto login (nombre de usuario y contrasefia). Esta opcin es muy prictica cuando debemos trabajar con bases de da- tos ubieadas en otra computadora fisica de Ia red a la cual pertenecemos, o a nuestra misma PC pero con otra version de SQL Server, por ejemplo, Ia 2000. Entonces, nos dirigimos al ment File/Connect Object Ex Iyeoeant rts Meni contextual para vista de dite de a tabla Customers ane {B dbo.cu Manejo de mens contextuales sobre tables y vistas. plorer. Se nos solicitardn los datos para co nectarnos (Tipo de servidor, Nombre 0 direceién IP, Tipo de autenticacién), luego. de lo cual, en el panel Object Explorer, veremos nuestra conexién aun nuevo servidor: E pasos, como conectarnos a un servidor SQL Server 2000, ubicado en un servidor de Red Windows 2003. desconectarnos de algiin s el ejemplo siguiente, vemos en sélo tres luego deseamos vidor, simple- mente, hacemos clic derecho del mouse so- n que corresponda y, del me nit contextual, elegimos Disconnect. Para acceder a las propiedades de un servidor SQL, nos ubicamos bre la conexi bre el nivel superior del rbol, donde esti el nombre del servi- dor; pulsamos el botdn derecho del mouse y seleccionamos Properties. mos antes, sera Ia caracteristica que més ul Fstas son algunas de ls funcionalidades mas zaremos de la herramienta SQL, Management importantes de Object Explores. Como diji- Console Express. eteit os CoS Im ZI (ol me MMe Meh tel) |. Seleccionamos del mer 2. Ingresamos tipo de servider, nombre 3, Una ver realzaa fa conexin, File, opcisn Connect © direceién IP. tipo de autentcacion, se staré en Object Explorer el ‘Object Explorer. Yen el caso de seleccionar SQL Server nuevo Servidor de base de datos. ‘Authentication ingresamos el usuario {y contrasefta correspondiente, \gwesrou swe 12 ert 1 oem corcectmr 103 issesu Se genase an Seg Yamaruer=== "=== Ss=2_=~ EL PANEL REGISTERED SERVER MUESTRA LOS SERVIDORES REGISTRADOS QUE ESTAN DISPONIBLES. PODEMOS TENER MAS DE UN SERVIDOR Y, ASI, CENTRALIZAR LA ADMINISTRACION DE TODOS. Registered Server EI panel Registered Server muestra los servi- dores registrados que estin disponibles. Ea él podemos tener mas de un servidor y, asi, cen- tralizac la administracién de todos. ‘También es posible registrar un nuevo servidor 0 armar grupos en los que ubicaremos a los que estin registrados. Supongamos que tenemos diz ser- vidores, de los cuales cinco son de produccién y el resto, de desarrollo, Una alternativa es re- gistrar los diez juntos, lo cual nos traeré una complicacién al momento de identificar cudles son de cada tipo. La manera mis prolija de rea- lizar esta operacién es, en principio, erear un grupo de servidores y, luego, registrarlos dentro de Al, Para crear un grupo de servidores, abri- mos el menti contextual sobre Database Engi- ne, y elegimos New/Server Group. Apareceri una ventana donde se nos pediri que ingrese- mos los siguientes datos: + Group name: Nombre del grupo de servi- dores que vamos a creat. + Group Description: Breve descripeién de cada uno. Ptesionando el botdn Save, se guardari el nuevo grupo de servidores. Para registrar un nuevo servidor dentro del grupo, hacemos clic derecho sobre él y seleccionamos el mentt New/Servet Registration. Al realizar esta ‘operacién, apareceri una ventana donde se nos solicitardn los datos del servidor, MSA Se Umno CCreacion de un nuevo grupo de servidores 104 Regstracion de un nuevo servidor Podemos registrar servidores no sélo SQL Server 2005, sino también SQL Server 2000, COM. um.blogspot. Podemos registrar servidores no sélo SQL. Server 2005 sino también 2000; lo mismo es vilido si la edicién del servidor SQL Server es 2000 Standard 0 2000 Enterprise y no desea- mos usar el Query Analizer 0 el Enterprise Manager, herramientas de esta vers Trabajar con queries y scripting En versiones anteriores a SQL Server 2005, para crear consultas, se trabajaba con una he- sramienta conocida como Query Analizer (analizador de consultas). ‘Tanto ésta como Enterprise Manager, que antes eran herra- mientas independientes, ahora estin integradas dentro de SQL Server Management Studio. Para ctear una nueva quety 6 consulta, dentto, de Object Explorer, nos posicionamos sobre Ja conexién de base de datos en la cual trabaja- remos, ptesionamos el borén New Query, ubicado en la barra de herramientas, 0 bien ‘usamos la combinacién de teclas Tanto Query Analizer como Enterprise Manager, que antes eran herramientas independientes, ahora estan integradas en SQL Server Management Studio. . En el panel derecho de Object Explorer se habilitard una ventana pa- 12 escribie la consulta. Si pulsamos otra vez New Query, se abrité una nueva solapa donde podemos eseribir otra consulta; asi podremos abrir cuantas solapas necesite- mos al mismo tiempo, cada una de las cua- les sera un archivo plano con extensién SQL distinto, que podremos abrir desde cualquier editor de textos, como el Bloc de notas, Para guardar la consulta, presiona- mos el botdn Guardar o vamos a File/Save. Como mencionamos en la introduccién a base de datos y SQI. Server, el lenguaje 522 ne 1a SLY rer FIGURA 010 | ae Ventana de | © Est iiew cue Inv rene corms Heb Query con una | 209" BG Seas BODES, consulta eserita ", en Transact-SQL. by Compananane DES a = + SC WORWTASREEEES ORTH WOM) Hatwnt 200000 Sen EL RESULTADO DE LA EJECUCION DE ESTA CONSULTA. ESTA EN FORMATO DE GRILLA, PERO TAMBIEN PODEMOS HACER QUE SE MUESTRE EN PANTALLA EN MODO TEXTO. O ENVIARLO DIRECTAMENTE A UN ARCHIVO. propio de éste es Transact SQL, por lo cual todo lo que escribamos dentro de las venta nas de queties debe respetarlo. Escribir y mostrar una query Cuando nos disponemos a eseribir una nueva consulta, se habilita una barra de hertamien- tas con las fiunciones més comunes. Una de ellas es un combo desplegable destinado a seleccionar sobre qué base de datos vamos a trabajar. Una vez que seleccionamos la base de datos, por ejemplo, Northwind, escribi- mos la consulta que deseamos en la solapa New Query: “SELECT * FROM EMPLOYEES; BE ue Gey Ick Wem Gomnly Bo Quer Geeta PORES, if (Eats Eoliand | ASIP RES SH 3 | Luego presionamos el borén Execute, de la barra de herramientas. Al hacerlo, obtenemos en pantalla una grilla, con el resultado corres- pondiente, En la parte inferior de la ventana, ‘una barra de rareas nos da informacién rele- vante sobre la consulta realizada, como la ba- se de datos sobre la que estamos trabajando, el usuario con quien estamos conectados la base, el nombre de ésta, el tiempo que demo- 16 la consulta en ser procesada y el total de registros que incluye. Otras opciones de manejo de queries El resultado de la consulta realizada se obtuvo en formato grilla, pero también FIGURA 011 | ‘Aqui vemos cl resultado de nuestra consulta en formato de grill pot.com.ar podemos hacer que se muestre en pantalla en modo texto 0 bien enviarlo ditectamente a un archivo, En este caso, nos ditigimos al meni Query, y en la opcidn Result To, selecciona- mos el modo que deseamos. Desde este mismo meni, tenemos acceso a otras opciones, como: Ver el plan de ejecucidn, Revisar la sinraxis de las sentencias antes de eje- cutar, Query Option, y otras. Desde el submenti Query Option tenemos la posibilidad de configurar varios parimetros re- lacionados con la ejecucién y la conexi6n. Ora de las opciones es Template Explorer, que permite utilizar una gran cantidad de plantillas para hacer la mayoria de las operaciones en ‘TESQL de una forma mis eficiente. Una de las novedades de esta herramienta es que permite abrir un archivo con extensién SQL sin estar conectados a un servidor. Su- pongamos que tenemos los archivos y los he- mos traslidado a una computadora portatil que staré desconectada de un servidor o que no tiene SQL, Management Studio instalado, Pues bien, para abrit un archivo, no necesitaremos estar conectados a la base de datos, y de todos FIGURA 012 | Aqui vemos las conexiones que se realizan ‘con un mismo nombre de usuario a Ia base de datos. modos podremos editarlo y tabgjar con él aprovechando las funcionalidades de Manage- ment Studio, en ver de tener que usar Word- Pad o el Bloc de notas. Reportes (Otra de las novedades que incorpora Manage- ‘ment Studio es la inclusién de una serie de re- pottes predefinidos para diferentes tareas de monitoreo y seguimiento, Podemos acceder a estos reportes desde Object Explorer, pulsando el botén derecho del mouse sobre alguno de sus item (Database, Security, etc) y, luego, del meni desplegable, seleccionando Reports/Standard Reports. Por ejemplo, si nos posicionamos sobre la co- nexi6n, veremos un listado bastante importan- te de reportes. Entre ellos eneontramos: Server Dashboard, Memory Consumption, Schemas y Change History. Si realizamos €l paso anterior y clegimos Security /Logins, se presenta otto tipo de reportes. Por ejemplo, www.lediiserspremilni_bIsgepor.cs: i the i i | 1.ar cary [cariru.o3] | Bases de datos LAS TAREAS DE SCRIPTING EN BASES DE DATOS NOS FACILITAN NUESTRA LABOR Y SON MUY IMPORTANTES PARA TODO DESARROLLADOR, PORQUE NOS PERMITEN AUTOMATIZAR PROCESOS LARGOS O TEDIOSOS, COMO LA CREACION DE UNA BASE DE DATOS. hay uno llamado Login Failure, que muestra un cuadro indicativo de la cantidad de inten. tos de inicio de sesién que no fueron vilidos, por ejemplo, porque la contrasefia ingresada no coincide. La incorporacién de todos estos teportes fa cilita las tareas de control y monitoreo que un DBA (administrador de base de datos) debe hacer sobre el servidor. Pista no es la tinica opcién, pero resulta sumamente prictica y titil en muchos Facilitar tareas con scripting Casi siempre, ya sea como desarrolladores in- dependientes 0 trabajando para una empresa, las tareas de scripting en bases de datos nos facilitan nuestra labor y son muy importantes para todo desarrollador o DBA, porque nos permiten automatizar procesos largos o te diosos, como la creacin de una base de da- tos con sus tablas, vistas y relaciones. En SQL Server Management Studio dispo- nemos de un botén Script en las ventanas principales del sistema, como la de creacién de base de datos, tablas, vistas, etc Supongamos que vamos a generar una meva base de datos y tablas para un sistema y, lue go, tenemos que tepetir este paso en el servi- estro cliente, Al momento de presionamos el botén Seript de todo el proce e en el lengu 1. de dicha vent mos, se gr de modo que podremos guatdatlo en un ar chivo con extensién SQI Este archivo de script puede ejecurarse en cualquier otro SQL Server Management Studio, y asi generaremos la base de datos y las tablas en forma automatica Ya conocimos algunas de las principales herra- mientas con las que trabajaremos en el diseito yadministraci6n de bases de datos. conti rnuacidn, sealizaremos un recortido por los principales conceptos tedricos, lo que nos per- mitiré desarrollar bases confiables. | Opciones. que brinda,el. botén, Script en Pers] Peed Dre een ar ere ree eee Disefno de bases de datos Llegé el momento de aprender a disefiar una base de datos, respetando la integridad relacional. Los sistemas de bases de datos, en general, tienen un conocimiento muy Timitado de To que significan los datos que almacenan. Nor malmente, slo comprenden ciertos tipos de valores atmivos y, quizas, algunas restriccio- nes de integridad simples que pueden aplicar- se a ellos, Cualquier interpretacion mis alki de este nivel queda reservada a los humanes. Debido a estas Limitaciones, surgen los mode- los entidad-rclacién, que son iiiles para com- prender y disear las bases de datos. Los conceptos que aqui explicaremos tienen importantes fundamentos tedricos, en lo que costesponde tanto al modelo entidad-relacién, como a la normalizacién y la teoria que la sus- tenta. Aqui prescatamos, de una manera algo informal, algunas de estas ideas y certos gjem- plos destinados a claificatis. Diagramas entidad-relacion, y el disefio ldgico y fisico Yodo desartollador de bases de datos tiene como tarea principal transformar y modelar los datos del mundo real para representarlos mediante objetos del gestor correspondien- te, Ein las primeras etapas del relevamiento de los requerimientos y el diseito de los sis- temas, solemos utilizar modelos que repre- sentan la informaciéa que debe almacenarse cn a BANE URRY. FR GOATS como principal objetivo representar seman- ticamente, mediante algin tipo de clasifica- cida y relaciéa, el universe de los datos im- portantes del sistema, Una de las téenicas de representacién de da- tos mais usada, y que ha tenido mayor éxito, son los diageamas del modelo entidad-rela- ion. Estos representan, mediante simbolos _gnificos, el significado de los datos para crear un modelo conceptual La mayotia de los desarcolladores utilizar los, diagrarmas entidad-relacién para comprender de forma visual la base de datos, HI primer paso es entender las entidades de un modelo puramen- te l6gico, que, luego, se transformaran en tablas del modelo fisieo. Por lo tanto, cl proceso de disetio de bases de datos puede dividirse, desde al punto de vista tedtico, en dos fases: una en la que se disefia el modelo entidad-selacion 16- ico, y ora en ba que se lo transforma en un modelo puramente fisico, constituido por ta- bilas y relaciones de una base de datos. En este ‘modelo fisico, no siempre existe una corres- pondencia directa uno a uno entre las entidades ogicas de los diagramas del modelo entidad-re- laci6n y las tablas fisicas de la base de datos. Sin embargo, puede decirse que, por lo general, existe una gran correlaci6n entre ells Entidad Cuando hablamos de entidades, lo primera que identificamos son los objetos del mundo real; por lo tanto, una definicién informal Todo desarrollador de bas: em Fal Beh ee pot, principal transfor es eon eer los datos del mundo real para representarlos mediante objetos del gestor correspondiente. expresaria que las entidades son los objetos distinguibles del modelo que queremos re- presentar, Por este motivo, suele decirse que las entidades son los sujetos o sustantivos de nuestro modelo, Una de las cosas que pode- mos expresar es que el mundo esté hecho de entidades. Entonces, lo que podemos hacer es agrupar estas entidades reales y verlas co- mo tipos de entidades. Podemos hacer un paralelo diciendo que las clases equivalen a los tipos de entidades, y que las instancias de estos tipos de entidades son los equivalentes 2 los objetos propiamente dichos. Por ejem- plo, si regresamos a lo visto en los eapitulos anteriores acerca de las clases, diremos que tun modelo de auto un auto determinado con ciertas caractetisticas es una instancia de una entidad que lamaremos auto. Esto nos da la ventaja de que podemos asignar a estas entidades ciertas propiedades, que todas las instancias tienen en comin. Algunos ejem- plos clisicos de entidades podrian ser: Pro- veedores, Clientes, Productos, Contactos, Facturas, Libros, ete. Propiedad Es una pieza de informacion que describe la en- tidad y corresponde, en lineas generales, a los atributos del modelo relacional. Podemos distin- sguir propiedades simples 0 propiedades com- ppuestas, de otras propicdades simples: propieda- des clave, que son tinicas dentro de un contexto; propiedades base y propiedades derivadas, como | suma de alguna otra propiedad. Modelo entidad-relacion Persona b S| aes: samgpepromium. bt od > FIGURA 013 | Modelo entidad-relacion clisico,en el que pueden verse entidades, relaciones y su cardinalidad. PODEMOS HACER UN PARALELO DICIENDO QUE LAS CLASES EQUIVALEN A LOS TIPOS DE ENTIDADES,Y QUE LAS INSTANCIAS DE ESTOS TIPOS DE ENTIDADES SON LOS EQUIVALENTES A LOS OBJETOS PROPIAMENTE DICHOS. Relacionamiento is una especie de entidad que permite inter- concctar otras dos (0 mis) entidades, Pot este motivo, suele considerarse a las relaciones co- mo los verbos que vinculan las catidades del modelo. Por lo tanto, existen relaciones uno a uno, muchos a uno y muchos a muchos. Es- ras relaciones se representan de disrintas for- mas en un modelo relacional y se implemen ran fisicamente de diversas maneras. Suelen modelase de distintos modos, pero siempre se las asocia con una accién o verbo. En ge- neral, se modelan relaciones binarias entre dos entidades. Po ejemplo, si tenemos las en- vidades persona y documento, pouriamos decir que un documento “pertenece” a una y s6lo una persona, y que una persona “posee” de 1a N documentos. Subtipo Se dice que una entidad B es un subtipo de In catidad tipo A si y sélo si cada B es ncce- sariamente un A. Esto permite aplicar un concepto de herencia de atributos y relacio- nes. Wn Sl 0 pono tuna persona. Existen caractevisticas comu- nes entre el programador y el administrati- ‘vo, que coinciden con los atriburos de la en- tidad persona. Sin embargo, eada uno de cllos tiene propiedades especificas no comn- nes, por lo que realizan una especializacion dc la entidad persona mediante un subtipo que hereda las casacteristicas de esa entidad. Este concepto no fue incluido inicialmente en el modelo de Chen, pero se lo agregs mas tarde, y para quienes conocen la teorfa de objetos, es similar a la herencia de clases. De la teoria a la practica De la primera idea del modelo entidad-rela- cién, en la que el objetivo principal eta des- ctibir las bases de datos, Ilegamos a un pto- ceso de modelado y diseao en varias etapas, en general ayudado por herramientas del tipo CASE (Computer Aided Software Engineering, que significa desarrollo de software asistido por computadoras). Este modelado ocurre, normalmente, en dos 6 en tres etapas. En la primera se realiza un modelo concep- tual del diseito de la base de datos mediante el modelo entidad-relacion, que fepresentan en forma gritica la base de datos desde el punto de vista de los conceptos. En este es- SMtspraniiinibiewypat.com.ar dades. Esto quiere decie que el modelo es tecnolégicamente independiente y representa los datos de manera exclusiva, Fl segundo paso del diseiio corresponde al di- seito ldgico, y es en este momento cuando se ‘mapean las entidades del modelo conceptual a tablas légicas, verificindose que se cumplan Relacionamiento es una especie de entidad que permite interconectar otras dos (o mas) entidades. ciertas caracteristicas, como la normalizacién, Este modelo logico también es tecnolégica- mente independiente, ya que se modela en términos de tipos de datos genéricos Por iiltimo, la tercera etapa cotresponde al diseio fisico, momento en el cual se adapta el modelo légico a la plataforma de destino specifica, y se seleccionan las diferentes opciones de implementacién, como los ti- pos de datos especificos, y el hecho de que los nombres de las tablas, objetos y colum- nas, entre otros, sean nombres vilidos. En cesta tiltima etapa suclen realizarse tareas pa- +a identificar las columnas que son candida- tas para ctear indices, las que son las claves primarias o las claves secundatias, y otros componentes requetidos para que la imple- mentaci6n fisica de la base de datos funcio- ine de maneta eficiente, Un diagrama entidad-relacién conceptual suele contener s6lo los nombres de las enti dades y las relaciones entre ellas. Habitual- mente, no resuelve la manera de implemen tacién de las entidades que se relacionan de la forma muchos a muchos, y tampoco es comiin incorporar los atributos. Lo mas Subtipos ‘TipeDocumenco FIGURA O14 | Ejemplo de herencia de atributos mediante subsipos. jogspot.com.ar Importante es que el modelo nos da una idea de como sera el disefio final de la base de datos. Dado que existe un cierto tipo de correspondencia entre entidades y tablas, muchos desarrolladores que usan herra- mientas CASE suclen saltear la primera eta pa conceptual, y comienzan directamente en el modelo légico y fisico. Luego, del modelo conceptual se puede pasar al modelo légico. Para hacerlo, sobre Ia base de los requeri- mientos y anilisis realizados, se agregan to- das las propiedades y atributos a las entida- des, Estos atributos seran las columnas de nuestras tablas. Otra tarea que debemos ha cer en este modelo es transformar las rela~ ciones de muchos a muchos en entidades Modelo légico TipeDecumente Esdel co; Eun Empresa Pare de Para de Proyectotmpeada| FIGURA 015 | Modelo légico equivalente al modelo conceptual anterior. erspr {EEE blopspot.com.ar 113 asociativas, Estas serin nuevas tablas que contienen registros con los atributos 0 co- Jumnas de las claves primarias de las tablas que, originalmente, se relacionaban de mu- chos a muchos, para identificar qué combina- ciones existen cn la relacién, ‘Otro paso que suele realizarse es la creacién de tablas de referencia, que se utilizan para li- mitar la cantidad de posibles valores que pue- de tener un atriburo © cohumna, ya que me- diante la relaci6n de la clave forinea, se puede asegurar la existencia del dato en esta tabla de referencia, y se impide asignar valores inade- cuados al atributo. La gran diferencia entre Modelo fisico PK | aTipeDocumento|smalline TipoDocumeno —_[etar5) Nombre ‘Ape ere Telefon Exada Neseetooeee laTipedocamenta PK,FI | CuitEmpress chara) Px’ | tdDeparameneo | saline ‘NombreDepartameneo | ehar35) #amplendos ar) www.re e(mium.blogspot.com.ar Ease c= Esedaquipainto | ear(35) FIGURA 015 | Modelo fisico equivalente obtenido mediante herramientas CASE, 14 usar una tabla de referencia y una restriccidén simple radica en que una restriccién debe ser modificada ante una necesidad de nuevos va- lores por restringir, y debe aplicarse en la ba- se de datos, mientras que una tabla de refe~ rencia s6lo requicre una modificacién de los datos de la tabla seferenciada y no necesita cambios en el disco de la base. Otra tarea que suele efectuarse en esta etapa es la crea- ci6n de supertipos y subtipos. Cuando exis- ten entidades muy similares, suele ser necesa- rio exear una que absorba todos los attibutos comunes. Luego, la especializacién mediante subtipos se leva a cabo generando las entida- des correspondientes. Herramientas que simplifican la tarea Si bien las herramientas de ayuda para la exea- cidn de software son de gran utilidad porque permiten trabajar de manera mas 4gil y efi- ciente con modelos de base de datos, debe- De la primera idea del modelo entidad-relacion, llegamos aun proceso de modelado y disefio en varias etapas, en general ayudado por herramientas CASE. ‘mos tener en claro que las mismas tareas pue- den realizarse sin inconveniente, tanto manual- ‘mente como con herramientas que no legan a considerarse CASE. El modelo elegido en este caso no contiene ‘ninguna particulatidad destacable en cuanto a disefio por seguir. Fue creado, simplemente, como manera de mostrar algunas de las carac- tetisticas y consecuencias del disefio en lo que se refiere al modelado relacional. Valores de un atributo (Categoriéseritor Ex del po i je-------------] rspremium.blogspot.com.ar FIGURA O17 |Tabla de referencia para limitar posibles valores de un atributo. 115, Este modelo expresa que una persona es un aislado de una empresa, y de alli la relacin autor y/o un empleado. Dependiendo de de entidad débil y fuerte, A diferencia de la cémo se lo considere, tienen distintas pro- __elacidn identificativa entre empresa (fuerte) piedades. Por tal motivo, se ha seleccionado _y departamento (débil), en la relacién entre tun supertipo persona con dos subtipos: em- _ empleado y departamento se ha priorizado la pleado y autor. Cada empleado puede traba~_herencia de atributos para la entidad emplea- jar en uno y sélo un departamento, Cada do, por lo que no se ha incoxporado la clave departamento pertenece a una y slo una rimatia de la entidad departamento como empresa, No puede existir un departamento parte de la clave primaria de la entidad SQL Server Management Studio EraplopeaTerieoriey shippers IF) Erptoresio (3) ShipperstO [Fema IE) epi Teme Employees ‘Orders customers tore [a] "Fond FF comer El unstne mer Et corms Erne Etec El coectene te Ey one IE Comare tact ra i aaron [5 srnowe 5) Sept Boy 5 Hino Sieve Eten are irae cate Ci cw | Satine Eh caney Eine Sapam me poco Deyo ne El comer Elston ED oar serena _ 1 ShipCountry www.red premium.blogspot.com.ar FIGURA O18 | Ejemplo de un aiagrama de Ia base de datos Northwind hecho en SQL Server Management Studio, SSS 116 empleado. Fn su lugar, pata forzar por un lado y restringir los posibles valores por otro, se ha obligado a que el valor del atsi- bute que indica el departamento del emple ado no pueda ser mulo y, ademas, a que exis- ta la referencia a la tabla Departamentos mediante una clave forainea Otra catacteristica destacable del modelo es gue un empleado puede pasticipar en vatios proyectos, asf como en un proyecto hay va ios empleados, lo que se consigue mediante la tabla asociativa, Una limitacién del mode lo de cjemplo es que un proyecto no esti relacionado a un departamento © empresa, Jo cual no sucle ser un limitante en este ca s0 ficticio, Podrfa ser importante destacar que si en un proyecto participan dos empre- sas, debe haber al menos un empleado de cada una que establezea la relacién, para que aparezea la relacién indircera a través de departamento, Si desarrollamas un modelo utilizando una herramienta CASE, el pasaje del modelo 16- gico al fisico suele ser simple y directo, por- que la herramienta toma decisiones que per miten respetar tanto las reglas fisicas como las logicas. La celacidn entre ambos modelos es mantenida y supervisada por la herra~ mienta, Ademis, algunas herramientas no distinguen entre modelos légicos y modelos fisicos. Las de disefio permiten no s6lo rea lizar el disefo preliminar, sino también dar soporte al ciclo de desarrollo completo. Ein tre algunas de las capacidades ms comunes que tigen, podemos mencighar que perm ten realzarcambio&eh cPimodeley apliear= los en Ia base existente, sin perder los datos actuales, Esto se consigue generande sentencias adecuadas para resguardar los da tos modelo de datos y mantenerlo acualizado, aplicar los cambios, documentar el © actualizar el modelo y los diagramas im- portando los cambios cfectuados directa WL SAS El modelo entidad-relacién nos da una idea de como sera el disefio final de la base de datos. mente en la base de datos (aplicando un proceso de ingenicria reversa), resolver con- flictos y asegurarnos de que, desde el punto de vista del disefo, se cumplan cicrtas seglas minimas para garantizar que se est gene tando un modelo rclacional coherente. Consejos para la creacién CoM DTW ELS Mel Mel tkol) Para que el disefio de una base de datos sea correc- ee terme ergo) pee Wee ets ok enc Soe Cen cae Ea ene ocr Se coe oe ceo Renee Seat ere aCe) Bee ieee eee ccs ee Ort CEs ra UC COM CoC Lula feel ee oe cee ae ey Een ogee uy Vinculacién: Establecer rela Se eae Aerie eee aera Mat Greece rc eater a Mie icc Tee ate eee eC aoc a Pemeu een cae Rn ay corn Depuracién: Eliminar las relaciones redundan- Cp a une ee UC) Cece eer ee 117 [eariruo3] | Bases de datos 11g UN EJEMPLO DE HERRAMIENTA DE DISENO SIMPLE SON LOS DIAGRAMAS DE BASES DE DATOS DE SQL SERVER, QUE PERMITEN CREAR MODELOS VISUALES DE LA IMPLEMENTACION FISICA DE LA BASE. Proceso de disefio El proceso que vamos a describir a conti nuacién de manera informal se sealiza en varios ciclos durante las etapas de an: de diseao iterativas. Esto significa qu bien parece lineal, se puede avanzar median. te varias etapas de refinamiento hasta legar al modelo definitivo, Para crear un diagt primero que debemos identificar son tidades mas importantes, Para cada objeto importante de nuestro universo de datos, debemos asignar una entidad. Nor te, asignamos un recténgulo a cada entidad © una tabla si trabajamos directamente con el modelo légico. EL segundo paso del diageama cosresponde a la identificacién de las relaciones entre las entidades. En este punto es necesario di guir entre los distintos tipos de relaciones que pueden producirse entre las entidades, que deben scr expresados dentro del diagea ma. Entonces, podemos agregar a nuestro eee eames eerie amplia gama diagrama las relaciones de uno a uno, uno a muchos y muchos a muchos que tienen las entidades ya identificadas del modelo. Luego, mapeamos las entidades del modelo con tablas de la base de date y asignamos los atributos de las entidades generando las columnas que correspondan, Para hacerlo, a cada entidad fuerte se le asigna, en general, abla del modelo de base de datos. Si se E, no conviene agregar las column: s fo neas, dado que la herramienta nos ayuda usa una herramien que serin cl 4 copiando la definieién de la clave primayia ¢ la tabla fordnea al establecer la relacién. ando una herramienta en esta etapa es habimual comenzar con la asignaci6n de tipos de datos y de propiedades, como la posibilidad de que la columna acepte un valor null. En este paso es importante asignar las claves prima- rias de cada tabla, porque ayudarin a comprender el modelo y crear atributos debido a las relaciones. Cee eee Para las entidades débiles, se asigna una tabla en la que parte de la clave primaria sera, a su vez, una clave forinea, mediante una restric- cién que hace referencia a la tabla que repre- senta a Ia entidad fuerte. Bste tipo de rela- cidn se llama identifieativa, porque obliga a Ja existencia del registro de la tabla que re- presenta a la entidad fuerte. Esto es asi por- que no se puede asignar un valor null a las columnas de la relacién, dado que son parte de la clave primatia de la tabla representante de Ia entidad debil. Para cada relacién uno a muchos, en la ta- bla cuya cardinalidad de la relacién es mu- chos, se ageega una columna que es clave Fo~ ssinea y que hace referencia a la clave prima- sia de la tabla cuya cardinalidad es uno. Nos referimos a este tipo de relaciones como no identificativas, ya que la columna que es clave forinea no forma parte de la clave pri- maria de la tabla; de alli que si la columna acepta valores nulos y se le asigna éste, pue~ Para crear un diagrama entidad- relacion, lo primero que debemos hacer es identificar las entidades mas importantes. Para cada objeto importante de nuestro universo de datos, tenemos que asignar una entidad. de haber un registro independientemente de Ia existencia del registro de la tabla relaciona- a, Obviamente, si se le asigna un valor a la columna, se debe respetar la restricci6n, En caso de que existan relaciones muchos @ muchos, es necesario crear, ademis de las dos tablas que se relacionan, una tetceta Ila- mada tabla asociativa, que permita estable- cet la relacién, Esta tabla tiene como clave Entidades fuerte y débil Empresa Es parte de FIGURA 019 | Ejemplo de relacién identifiativa entre una entidad fuerte y una débil. 119 Relacién de uno a muchos y de referencia recursiva Tene come jefe Empleo FIGURA 020 | Podemos ver la forma en que se representan las referencias recursivas y la relacion uno a muchos. primatia las columnas de las dos claves pri-_quier desarrollo de sistemas sobre base de marias de las tablas relacionadas, y lis dos. datos se haga de la manera mas acertada po- restriceiones de claves forineas con cada una sible, Asi, se evitard la redundancia de infor- de estas tablas base. Quizés el modelo enti. macidn y se logeard una mejor performance dad-rclacién sea la parte més tediosa, pero su en la aplicacién que acceda a consultar 0 al- conocimiento es fundamental para que cual macenar datos, ——————— Relacién muchos a muchos Empleado Participa de Participa de .blogspot.com.ar FIGURA 02! | Implementacién de una relacién muchos a muchos mediante una tabla asociativa, —————————————————SSS=S=S=S=S=S=S====_ 120 ee) Etsiehs) cena INTENSIVOS Los temas mas importantes del universo de la tecnologia desarrollados con la mayor profundidad y con un desplieque visual de alto impacto: Explicaciones tedricas, procedimientos paso a paso, videotutoriales, infografias y muchos recursos mas. ee ee eee ety BIR eke melu see seas Men eas eae aise Unie merie she PR LCR ACL CIS Iai me TRC » 25Fasciculos Curso para dominar las principales herramientas del paquete Adobe ree eae eS Te See ee eee eeu ae i Eee eee ee a Geese Moree as eye ee eee nee mca eect eae lad Bele) ere en ec See ea CO ea ca Puce Ee ay EM es a oe EUS RO RUT be Ler m omceara _ fe usershop@redusers.com © +54 (011) 4110-8700 @® usershop.redusers.com.ar Se ene CP] Ta Micresoft Curso tedrico y practico de programacion Desarrollador crcatce an gle La mejor forma de aprender 9.7. f.fF a programar desde cero Basado en el programa Desarroltador Cinco Estrellas de Microsoft Bases de datos ¢= Sistema relacional - Diagrama entidad/relacion - Normalizacion Lenguaje 6) We) o) cto Co lei creteyy aera) lola ieln alle) e\ass Consultas de insercién - Actualizacién

You might also like