Vous êtes sur la page 1sur 5
CORONEL / MORRIS /ROB BASES DE DATOS Diseno, implementacion y administracion _ + Los valores V_CODE existentes en la tabla PRODUCT deben tener (y tienen) un valor correspondiente en la tabla VENDOR para asegurar integridad referencial | + Alaunos procs summistrados son dectos de bic, otos se hacen en cose y el resto pueden haber sido ‘adquiridos en una venta de almacén. En otras palabras, un producto no es neceseriamente suministrado por un vendedor. Por tanto, VENDOR es opcional a PRODUCT. fos ns tars etn hn pci SC) Pre b, ls valores nulos en V_CODE se usaron en la tabla PRODUCT para ilustrar (mas adelante) cémo se les puede dar to con SQL. CREACION DE LA BASE DE DATOS que pueda usar un nuevo RDBMS, usted debe completar dos tareas: primero, crear la estructura de base de 05 v, segundo, crear las tablas que contendran los datos de usuario final. Para completa la primera tarea, el RDBMS. los archivos isicos que contendrén la base de datos. Cuando usted cree una nueva base de datos, el RDBMS au. amente crea las tablas de datos del diccionario en las que se quardarén los metadatos y crea un administrador xeterminado de base de datos. Crear los archivos fisicos que contendrén la base de datos significa interactuat con el kma operativo y los sistemas de archivo soportados por éste. Por tanto, crear la estructura de la base de datos es la én que tiende a distinguir sustancialmente un RDBMS respecto de otto. La buena noticia es que es reativamente crear una estructura de base de datos, cualquiera que sea el RDBMS que se use. usted emplea Microsoft Access, crear la base de datos es sencillo: inicle Access, seleccione File > New > Blank tabose,especifique la carpeta en la que desea quardar la base de datos y después aplique nombre a ésta. No obstan- sitrabaja en un ambiente de base de datos que por lo general se usa en organizaciones més grandes, es probable use un RDBMS empresarial como Oracle, SQL Server, MySQL © DB2. Dados sus requisitos de sequridad y mayor npkéjddad, esos productos requieren un proceso més elaborado para la creacién de una base de datos. (Véase en el péndice N una ilustracion de instrucciones especificas para crear una estructura de base de datos en Oracle.) alvio al descubrir que, salvo el proceso de creacién de la base de datos, la mayoria de los vendedores de 'S usan SQL que se desvia poco del SQL esténdar del ANSI. Por ejemplo, cas\ todos los RDBMS requieren que da uno de los comandos de SQL termine con un punto y coma, pero algunas implementaciones no usan ese signo. los recuadros de Nota se destacan aqui importantes diferencias de sintaxis entre implementaciones, sted esta usando un RDBMS empresarial, antes de empezar a crear tablas debe ser autenticado por el RDBMS. La ticaciém es el proceso mediante el cual el DBMS verifica que sélo usuarios registrados pueden tener acceso a la \e datos. Para estar autenticado, es necesario registrarse en el RDBMS usando una ID de usuatio y una contrasefia da por el administrador de la base de datos. En un RDBMS empresaral, la ID de todo usuario esta asociada con un ade base de datos, EL ESQUEMA DE BASE DE DATOS. jelambiente de SQL, un esquemaa es un grupo de objetos de base de datos, por ejemplo tablase indices, que estén kéonados entre si, Por lo general, el esquema pertenece a un solo usuario o aplicacién. Una sola base de datos puede er miiltiples esquemas que pertenecen a diferentes usuarios o aplicaciones, Considete un esquema como agrupa- o légico de objetos de bases de datos, por ejemplo tablas, indices y vistas. Los esquemas son iiiles en el sentido agrupan tablas por propietario (0 funcién) y aplican un primer nivel de seguridad al permitir que cada usuario vea jobs tablas que le pertenecen, ormas de ANSI para SOL dfinen un comand para crear un esquema de base de datos HATE SCHEMA AUTHORIZATION freador ro ol creador es JONES, wee comando REATE SCHEMA AUTHORIZATION JONES; TOCCATA Pi Casi todos los RDBMS empresariales soportan ese comando, pero éste se usa raras veces directamente, es decir, dela linea de comando. (Cuando se crea un usuario, el DBMS automaticamente le asigna un esquema.) Cuando el DBMS se usa, el comando CREATE SCHEMA AUTHORIZATION debe ser emitido por el usuario que posee el esquema, Eso, ‘usted se registra como JONES, sélo puede usar CREATE SCHEMA AUTHORIZATION JONES. Para casi todos los RDBMS, CREATE SCHEMA AUTHORIZATION es opcional. Esa es la raz6n por la que este caph tulo se concentra en los comandos del ANSI para SQL requeridos para crear y manipular tablas En el diccionario de datos de Ia tabla 7.3, observe particularmente los tipos seleccionados de datos. Recuerde gle la seleccién del tipo de datos esta por lo general dictada por la naturaleza de los datos y por el uso que se pretende Por ejemplo: ‘+ PLPRICE claramente requiere alguna clase de tipo numérico de datos; definilo como campo de caracteres no es aceptable. * Con igual clardad, el nombre de un vendedor es un candlidato obvio para un tipo de datos de caactres. Pat «femplo, VARCHAR2(35) se ajusta bien porque los nombres de vendedores son las de carecteres de “longi variable” y, en este caso, esas fas pueden ser de hasta 35 caracteres de largo. + Aprimera vista, pudlera parecer légico Seleccionar un tipo numérico de dalos para V_AREACODE porque com tiene s6lo digitos, pero agregar y restar cédigos postales no da resultados significativos. Por tanto, seleccionarun po de datos de caractres es mis apropiado. Eso es certo para muchos atributos comunes que se encuntah en modelos de datos de negocios. Por ejemplo, aun cuando los cédigos postales eontienen todos los din, deben estar definidos como datos de caracteres porque algunos cédigos postales empiezan con un digito cet (0) y um tipo numérico de datos causaria que se cancelara el cero inci ‘Las abreviaturas de cada esiado en Estados Unidos son siempre de dos caractres, de modo que CHAR) una seeccién logica : + Seleccionar P_INDATE pare ser un campo DATE (ullanc),en lugar de campo de carateres, es deseable pone las fechas jlanas periten hacer comparaciones seneillas de fechas y efectuarartmética de fechas. Por em ; plo, si usted ha usado campos DATE, puede determinar cuintos dias hay entre ellos. ‘Siusted usa campos DATE, también puede determinar cusl sera la fecha, por elemplo, en 60 dias desde una P TE determinada con sélo usar P_INDATE + 60. O puede usar la fecha del sistema del RDBMS, SYSDATE en Orade, GETDATE) en MS SQL Server y Date() en Access, para determinar la respuesta a preguntas como zcusl ser laf dentro de 60 dias? Por ejemplo, podria usar SYSDATE + 60 (en Oracle), GETDATE) + 60 (en MS SQL Server Date() + 60 (en Access) La aptitud aritmética de fechas es particularmente util en facturaciones. Quiaas usted desea que su sistema cargar intereses sobre el sao de un cliente a partir de 60 dias de generar la factura. Esa sencila aritmética de fe seria imposible si se usa tipo de datos de caracteres. A veces la seleccion de tipo de datos requlere juicio profesional. Por ejemplo, usted debe tomar uria decision acerta tipo de datos de V_CODE como sigue: ‘+ Sidesea que la computadora genera nuevos cédigos de vendedor al agregar 1 al méximo cédigo registrada vvendedor, debe clasificar V_CODE como atributo numérico. (No puede efectuar procedimientos matemticos datos de caracteres.) La designacion INTEGER asegura que pueden usarse s6lo los niimeros naturales (en Casi todas las implementaciones de SQL también permiten el uso de SMALLINT para valores enteros de seis digitos ‘+ Siusted no desea efectuar procedimientos matemiticos basados en V_CODE, deberiaclasficarlo como at de caracteres aun cuando esté compuesto totalmente de ntimeros. Los datos de caracteres son més “ti para usarse en consultas. Por tanto, cuando no haya necesidad de efectuar procedimientos mateméticos en atributo, guardelo como atributo de caracteres, La primera opciin se usa para demostrar los procedimientos de SQL en este capitulo. $01 uezee 3] So1eH0} S01 Sovonbad sow S10} 0196 = INITVNS so1auia S005 = INI ONRND © ABNOW s=18p ap oda un ap os puoniad SH SOUT sofeupap sen 0] sopinouy oie ap sap ananu Bey sjewsDop sen sop uo soloulpu seyoodso ered esn 2s ('GRARIANIN SOOUDLNU SoIEG = A3GWAN 2810 UD ZAVHOAVA uo ua WOINE ALAAUED 95 YVHIDAVA SHAPED 000 ZL 94qeUEA PMIUO| 9 SOKA = AVHOAVA aH Ne oupio} axey] = M4 = NA x Tavid | ened opipaa | Wao A | [age WN xX | eR. opens IVS A S| [ Ep VN) 6666-666 (VED | __O>IUDFRISL OI 3NOHd A W 666 (@RVHO | ——=Rsed opp | 3GODVaAV_A (ee ae YN. OOOOH (STRIVHD opEWOD DVINOD A | WN | “2000000000000 (S€)¥VHD | _Jpapuan ap auqWON, WYN A ] (6666-0001 HOdEE YADAINI | __29papUAA sp oBipoD 3009 A | _4YOGNIA | WOON | | TT ee-00T a8 ORIN | 0pApUAA ap APO 30007 | | 02'0-00°0 ##0 | aWON ~awanosap ap ese | _INNOJSIC-d. 3| 006666-000 | aw ewe | aaEWON ‘ranpoid ap opaig Fond 7 1 6666-0 |e INITIVWS py = 66660 |S | INITIVWS: YN|__AAAKNOW-OG ava p= VN renoaoac000X | (SERIVHOUVA | ObNpa:d ap uppdusseq 41diOS3C VN HOOK (oLavHO ‘opnpoud ap oBipo> 3009 4 | i9ndoxd TET 0: TET Saree) peur one Th oe) lee ESL NREL LNCS Mang = Te Cuando usted defina el tipo de datos de un atributo, debe poner mucha atencién al uso esperado de éste para fines de crden y obiencién de datos. Por eemplo, en una aplicactin de bienes raices, un atributo que representa los nimeras de cuartos de bafio en una casa (H_BATH NUM) podria ser asignado al tipo de datos CHAR(3) porque es poco pro bable que la aplicacion haga alguna adicién, multiplicacion o division con el nimero de cuartos de baiio. Con base en Ja definicion del tipo de datos CHARG), los valores vslidos para H_BATH_NUM serian'2','1':2.5', "10". No obstant esta decision de tipo de datos crea potenciales problemas. Por ejemplo, si una aplicacién ordena las casas por i de cuartos de bafio, una consulta seria “ver” el valor '10” como menor a ‘2', que es claramente incorrecto. Ent se debe pensar en el uso esperado de los datos para definir en forma correcta el tipo de dato de atributo. El diccionario de datos de la tabla 7.3 contiene algunos de los tipos de datos soportados por SQL. Para fines de ense- fianza, la seleccién de tipos de datos esta limitada a asegurar que casi cualquier RDBMS se puede usar para implernentar los ejemplos. Si el RDBMS del lector esté por completo apegado al ANSI para SQL, soportaré muchos mds tipos de Gatos que los que se ven ena tabla 7.4. numerosos RDBMS soportan tipos de datos ademas de los especiticads en Algunos tipos comunes de datos de SQL cease Mace ome NICUe NUMBERIL,D) | La declaracién NUMBER(7,2) indica nimeros que se guardarn con dos lugares

Vous aimerez peut-être aussi