DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . OBJET!O "E#ERA$ DE$ %&RSO EL ALUMNO RESOLVER PROBLEMAS Y TENDR UN PANORAMA GENERAL DE LOS CONCEPTOS ESENCALES Y MODELOS PRNCPALES DE BASES DE DATOS. SUSTENTADO EN LAS NVESTGACONES DE UN CASO PRCTCO DE UNA EMPRESA O NSTTUCN, ANALZAR EL ENTORNO Y DETERMNAR LAS NECESDADES OPERATVAS DEL MANEJO DE NFORMACN Y CON ESTOS ELEMENTOS APLCAR LOS MTODOS DE DSEO PROPOS DEL MODELO RELACONAL EN LA ESTRUCTURACN DE UNA BASE DE DATOS DESARROLLADA EN ACCESS DE MS- OFFCE COMO SOLUCN A LAS NECESDADES PLANTEADAS. n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . UNDAD: UNO . OBJET!O -ART%&$AR DE $A &#DAD AL TRMNO DE LA UNDAD, EL ALUMNO DESCRBR LOS CONCEPTOS FUNDAMENTALES ACERCA DE SSTEMAS DE NFORMACN Y BASES DE DATOS E DENTFCARA SUS CARACTERSTCAS. EXPLCARA LA ARQUTECTURA DE UN SSTEMA DE BASES DE DATOS. n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . OBJET!O -ART%&$AR DE $A &#DAD &#DAD TEMA. OBJET!OS ES-E%/%O0S1 TE% MET * DD 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.5 1.6 1.7 1.8 1.9 1.1 SSTEMA DE NFORMACON CONCEPTO Y EVOLUCON HSTORCA 1.2 DEFNCN Y CONCEPTO DE BASES DE DATOS Y MANEJADORE DE BASE DE DATO 1.3 OBJETVOS E MPORTANCA DE LOS SSEMAS DE BASES DE DATOS 1.4 MODELOS DE BASES DE DATOS 1.4.1 JERARQUCO 1.4.2 DE RED 1.4.3 RELACONAL 1.5 ARQUTECTURA DE UN SSTEMA DE BASE DE DATOS 1.6 NSTANCAS Y ESQUEMAS 1.7 ENTDADES Y ATRBUTOS 1.8 ESQUEMAS Y SUBESQUEMAS 1.9 NDEPENDENCA DE LOS DATOS EL ALUMNO MEMORZARA QUE ES UN SSTEMA DE NFORMACN COMO CONCEPTO, A DEMS DE LA EVOLUCN DE ESTOS EN LA HSTORA PREVA CLASE TEORCA E NVESTGACON EXTRACLASE, ASSTDA POR EL MAESTRO, SN ERROR. EL ALUMNO MEMORZARA QUE ES UNA BASE DE DATOS AS COMO UN MANEJADOR DE BASE DE DATOS PREVA CLASE TEORCA, SN ERROR EL ALUMNO RECORDARA LA MPORTANCA DE LOS SSTEMAS DE BASES DE DATOS EN LA ACTUALDAD, AS COMO SU OBJETVO PRMORDAL PREVA CLASE TEORCA, SN ERROR. EL ALUMNO MEMORZARA LOS TRES TPOS DE MODELOS DE BASES DE DATOS EL JERRQUCO EL DE RED Y EL RELACONAL, PREVA CLASE TEORCA, SN ERROR. -EL ALUMNO MEMORZAR LAS CARACTERSTCAS DEL MODELO JERARQUCO PREVA CLASE TEORCA SN ERROR. -EL ALUMNO MEMORZARA LAS CARACTERSTCAS BSCAS DEL MODELO DE RED PREVA CLASE TEORCA SN ERROR. -EL ALUMNO MEMORZARA LAS CARACTERSTCAS BSCAS DEL MODELO RELACONAL PREVA CLASE TEORCA SN ERROR. -EL ALUMNO MEMORZARA LA ARQUTECTURA DE UN SSTEMA DE BASE DE DATOS, PREVA EXPLCACON DEL MAESTRO, SN ERROR. -EL ALUMNO RECORDARA LOS CONCEPTOS DE NSTANCAS Y ESQUEMAS PREVA CLASE TORCAO PRCTCA, SN ERROR. -EL ALUMNO RECORDARA COMO EL SGNFCADO DE ENTDAD Y ATRBUTO E DENTFCAR ENTDADES Y LOS ATRBUTOS PARA LA OBTENCON DE BASE DE DATOS, PREVA CLASETEORCA Y PRCTCA, SN ERROR. -EL ALUMNO MEMORZARA LOS TERMNO DE ESQUEMA Y SUBES QUEMA Y SU UTLZACN PREVA CLASE TOERCO PRCTCA CON UN ERROR EN UNA REL. DE 5. EL ALUMNO RECORDAR LA MPORTANCA DE LA NDEPENDENCA DE LOS DATOS EN UNA BD. PREVA EXPLCACON DEL PROFESOR, SN ERROR. TE TE TE TE TE TE TE TE TE TE TE M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD HP HP HP HP HP HP HP HP HP HP HP n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA SMBO$O"A TE%#%A 0TE%1 METODO$O"A 0MET1 *ERRAME#TA DDA%T%A 0*DD1 TE E2-OST!A #ARRAT!A M #D&%T!A *- -3ARRO# T- -A#E$ MD DED&%T!A *R ROTA/O$O TM MESA REDO#DA M% %E#T/%O *A A&DO!S&A$ES E #/ORMAT%A T$ $E%T&RA %OME#TADA M/ /$OSO/%O *RE RE!STAS0*EMEROTE%A1 T% %ASO DE EST&DO *D DO%&ME#TA$ES0!DEOTE%A1 T/ /ORO T$$ $$&!A DE DEAS T%O %ORR$$OS TD DEMOSTRAT!A UNDAD: DOS . DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . OBJET!O -ART%&$AR DE $A &#DAD AL TRMNO DE LA UNDAD, EL ALUMNO MODELARA LA NFORMACN REQUERDA PARA UNA BASE DE DATOS, UTLZANDO ELEMENTOS GRFCOS PARA ELABORAR DAGRAMAS QUE REPRESENTEN A LOS MODELOS CONCEPTUALES DE BASES DE DATOS. DESCRBR LAS CARACTERSTCAS Y BONDADES DE LOS DAGRAMAS ENTDAD RELACN, DESARROLLAR UN EJEMPLO Y LO CONVERTR A TABLAS, APLCANDO LAS ESPECFCACONES TCNCAS APRENDDAS n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA OBJET!O -ART%&$AR DE $A &#DAD &#DAD TEMA. OBJET!OS ES-E%/%O0S1 TE% MET * DD DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 2.1 2.2 2.3 2.4 2.5 2.6 2.1 ETDADES, ATRBUTOS Y RELACONES 2.2 CARDNALDAD DE MAPEO 2.3 LLAVE PRMARA O CLAVE PRNCPAL 2.4 DAGRAMA E-R 2.5 REDUCCON DE LOS DAGRAMAS E-R A TABLAS 2.6 GENERALZACON Y ESPECALZACON -EL ALUMNO MEMORZARA LOS CONCEPTOS DE ENTDA, ATRBUTO YR ELACONES MEDANTE LA PRACTCA EN EL USO DE U EJERCCOS, PREVA EXPLCACON DEL MAESTRO, SN ERROR. -EL ALUMNO MEMORZARA EL CONCEPTO DE CARDNALDAD DE MAPEO AS COMO LA APLCACN DE ESTE EN LA CREACN DE BASES DE DATOS, PREVA PRCTCA ASSTDA POR EL MAESTRO , SN ERROR. -EL ALUMNO APRENDER LA MPORTANCA DE LA LLAVE PRMARA O CLAVE PRNCPAL DENTRO DEL ENTORNO DE LAS TABLAS, PREVA CLASE TERCO PRCTCA, SN ERROR -EL ALUMNO ENTENDERA Y REALZARA DAGRAMAS ENTDAD RELACN, PREVA EXPCACON DEL MAESTRO Y PRCTCA EXTRACLASE, SN ERROR. EL ALUMNO EMPLEARA LA REDUCCN DE LOS DAGRAMAS ENTDAD RELACN A TABLAS PREVA CLASE TEORCA Y EJERCCOS EXTRACLASE ASSTDOS POR EL PROFESOR, SN ERROR . EL ALUMNO EMPLEARA LOS CONCEPTOS DE GENERALZACN Y ESPECALZACN, DESPUES DE UNA CLASE TEORCA Y EJERCCOS PRACTCOS ASSTDOS POR EL PROFESOR, SN ERROR TE,TD TE,TD TE,TD TE,TD TE,TD TE,TD M,MD M,MD M,MD M,MD M,MD M,MD HP HP HP HP HP HP n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA SMBO$O"A TE%#%A 0TE%1 METODO$O"A 0MET1 *ERRAME#TA DDA%T%A 0*DD1 TE E2-OST!A #ARRAT!A M #D&%T!A *- -3ARRO# T- -A#E$ MD DED&%T!A *R ROTA/O$O TM MESA REDO#DA M% %E#T/%O *A A&DO!S&A$ES E #/ORMAT%A T$ $E%T&RA %OME#TADA M/ /$OSO/%O *RE RE!STAS0*EMEROTE%A1 T% %ASO DE EST&DO *D DO%&ME#TA$ES0!DEOTE%A1 T/ /ORO T$$ $$&!A DE DEAS T%O %ORR$$OS TD DEMOSTRAT!A UNDAD: TRES . OBJET!O -ART%&$AR DE $A &#DAD DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . AL CONCLUR LA UNDAD, EL ALUMNO DESCRBR LAS CARACTERSTCAS PRNCPALES DEL MODELO RELACONAL. PLANTEARA EL DSEO CONCEPTUAL DE LA BASE DE DATOS EN EL MODELO E-R, AS MSMO CREARA CONSULTAS EN TERMNO DE ALGEBRA RELACONAL Y SQL EN ACCESS n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA OBJET!O -ART%&$AR DE $A &#DAD &#DAD TEMA. OBJET!OS ES-E%/%O0S1 TE% MET * DD 3.1 3.2 3.1 ESTRUCTURA DE BASE DE DATS RELACONALES 3.2 ENUNCADOS RELACONALES -EL ALUMNO APRENDER COMO ES LA ESTRUCTURA DE UNA B.D RELACONAL, PREVA CLASE TEORCA , SN ERROR.A -EL ALUMNO RECORDAR LOS ENUNCADOS RELACONALES, PREVA CLASE PRACTCA Y M,MD M,MD HP HP DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 3.3 3.4 3.4.1 3.4.2 3.5 3.6 3.7 3.8 3.9 3.9.1 3.3 OPERADORES RELACONALES 3.4 ALGEGRA RELACONAL 3.4.1 OPERADORES RELACONALES BASCOS 3.4.2 EJEMPLO DE ACCESOS A BASES DE DATOS RELACONALES 3.5 SQL (METODOLOGA) 3.6 CORRESPONCENCA CON EL MODELO DE DATOS E-R 3.7 DEPENDENCA FUNCONAL 3.8 NTEGRDAD REFERENCAL 3.9 NORMALZACON 3.9.1 SEGURDAD E NTEGRDAD TEORCA, CON UN NVEL DE EFCENCA DEL 90%. -EL ALUMNO APRENDER LOS OPERADORES RELACONALES Y SU SGNFCADO AS COMO SU APLCACN, PREVA CLASE PRACTCA, SN ERROR. -EL ALUMNO MEMORZAR LA FUNCN Y SNTAXS DEL ALGEBRA RELACONAL PREVA CLASE PRACTCA, SN ERROR. EL ALUMNO PRACTCARA EL USO DE LOS OPERADORES RELACONALES MS MPORTANTE, PREVA CLASE TEORCO PRACTCA, SN ERROR. EL ALUMNO APRENDER MEDANTE EJEMPLOS EL ACCESO A BASES DE DATOS RELACONALES, PREVA CLASE PRACTCA SN ERROR. EL ALUMNO APRENDER QUE ES SQL, SUS SNTAXS Y EL USO TAN MPORTANTE QUE TENE ESTE HOY EN DA, PREVA CLASE TEORCA, SN ERROR. EL ALUMNO APRENDER LO QUE ES LA CORRESPONDENCA CON EL MODELO DE E-R, PREVA CLASE TEORCA, PRACTA, CON UN NVEL DE EFCENCA DEL 90%. EL ALUMNO RECORDAR EL SGNFCADO DE DEPENDENCA FUNCONAL Y COMO SE APLCA ESTA, PREVA CLASE TEORCO PRACTCA, CON UN NVEL DE EFCENCA DEL 90%.. EL ALUMNO RECORDAR EL SGNFCADO DE NTEGRDAD REFERENCAL Y SU APLCACN, PREVA CLASE TEORCO, PRACTCA SN ERROR.. EL ALUMNO ENTENDER EL PROCESO DE NORMALZACN, AS COMO EL SGNFCADO Y APLCACN DE CADA UNA DE SUS ETAPAS, PREVA CLASE TEORCO PRACTCA, CON UN NVEL DE EFCENCA DEL 90%. EL ALUMNO COMPRENDER LA MPORTANCA DE LA SEGURDAD E NTEGRDAD DE UNA BASE DE DATOS, PREVA EXPLCACON TEORCA POR PARTE DEL PROFESOR, CON UNNVEL DE EFCENCA DEL 90%. M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD M,MD HP HP HP HP HP HP HP HP HP HP n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA UNDAD: CUATRO . OBJET!O -ART%&$AR DE $A &#DAD DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . AL CONCLUR LA UNDAD, EL ALUMNO UTLZARA EL SOFTWARE ACCESS DE MCROSOFT PARA DESARROLLAR UNA BASE DE DATOS QUE RESPONDA A LAS NECESDADES DE UNA NSTTUCN O MCROEMPRESA DE ENTORNO NMEDATO CON LOS DFERENTES TPOS Y ELEMENTOS QUE CONSTTUYEN UN MANEJADOR DE BASE DE DATOS. n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA OBJET!O -ART%&$AR DE $A &#DAD &#DAD TEMA. OBJET!OS ES-E%/%O0S1 TE% MET * DD 4.1 4.2 4.1 CARACTERSTCAS DE ACCESO 4.2 CREACON Y EDCON DE UNA BASE DE EL ALUMNO RECORDAR LOS PASOS NECESAROS PARA PODER ACCESAR AL MANEJADOR DE BASE DE DATOS, PREVA CLASE PRACTCA, CON UN NVEL DE EFCENCA DEL 90% EL ALUMNO APLCAR LOS PASOS NECESAROS PARA CREAR Y EDTAR UN BASE DE TE,TD TE,TD M,MD M,MD HP HP DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 4.5 4.4 4.6 4.7 4.7 DATOS 4.3 CREAR, MODFCAR VSUALZAR E MPRMR CONSULTAS 4.4 CREAR, MODFCAR, VSUALZAR E MPRMR FORMULAROS 4.5 CREAR, MOFFCAR, VSUALZAR E MPRMR NFORMES 4.6 PROTECCON DE LAS BASES DE DATOS 4.7 FACTVLDAD DE CREACON DE DBMS CON VSUAL BASC, USANDO UNA BASE DE DATOS DE ACCES DATOS EN EL MANEJADOR DE BASE DE DATOS, PREVA CLASE PRACTCA, CON UN NVEL DE EFCENCA DEL 95%. EL ALUMNO RECORDAR COMO CREAR, MODFCAR, VSUALZAR E MPRMR CONSULTAS, PREVA CLASE TEORCO, PRACTCA, CON UN NVEL DE EFCENCA DEL 90%. EL ALUMNO CREAR FORMULAROS, AS COMO MODFCARLOS, VSUALZARLOS E MPRMRLOS, PREVA CLASE PRACTCA, SN ERROR. EL ALUMNO SER CAPAZ DE CREAR NFORMES, AS COMO MODFCARLOS, VSUALZARLOS E MPRMRLOS, PREVA CLASE TEORCO PRACTCA AS COMO TAREA EXTRACLASE, CON UN NVEL DE EFCENCA DEL 90%. EL ALUMNO RECORDAR COMO PROTEGER BASES DE DATOS, AS COMO LOS MTODOS Y MANEJADORES UTLZADOS EN LA ACTUALDAD, PREVA CLAES TEORCA PRACTCA SN ERROR. EL ALUMNO CREAR UN SSTEMA NTEGRADO CON UNA BASE DE DATOS ACCESS, EN EL CUAL PODR REALZAR UN ABCC, PREVA CLASE TEORCA, CON UN NVEL DE EFCENCA DEL 90%.. TE,TD TE,TD TE,TD TE,TD TE,TD M,MD M,MD M,MD M,MD M,MD HP HP HP HP HP n'. Antonio Ja(ie) Medina *e)n+nde, Bilo'a $eticia Sil(a $pe, n'. Raul An'el A)ellano To))es DRECTOR DEL PLANTEL JEFE DEL DEPTO. SERVCOS DOCENTES PRESDENTE DE ACADEMA SMBO$O"A TE%#%A 0TE%1 METODO$O"A 0MET1 *ERRAME#TA DDA%T%A 0*DD1 TE E2-OST!A #ARRAT!A M #D&%T!A *- -3ARRO# T- -A#E$ MD DED&%T!A *R ROTA/O$O TM MESA REDO#DA M% %E#T/%O *A A&DO!S&A$ES E #/ORMAT%A T$ $E%T&RA %OME#TADA M/ /$OSO/%O *RE RE!STAS0*EMEROTE%A1 T% %ASO DE EST&DO *D DO%&ME#TA$ES0!DEOTE%A1 T/ /ORO T$$ $$&!A DE DEAS T%O %ORR$$OS TD DEMOSTRAT!A 1.1 Siste8a de in9o)8acin. concepto : e(olucin ;ist)ica. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . SSTEMA: Conjunto de partes que se relaiconan de manera uniforme para dar un resultado en comun. #/ORMA%O#. La informacion es un conjunto de elementos tales como imgenes, sonidos y letras o simbolos, ordenados de tal manera que tengan un sentido logico. SSTEAM DE #/ORMA%O#. TAREA 1. NVESTGAR LA EVOLUCON HSTORCA DE LOS SSTEMAS DE NFORMACON TAREA 2: traer su propia definicion de sistema de informacion 1.2 De9inicin : concepto de <ases de datos : 8ane=ado)es de <ase de datos DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Definicin de Base de Datos Todo buen curso necesita empezar con algunos conceptos bsicos para el mejor entendimiento del mismo, por lo tanto empezaremos con las definiciones que involucran a las bases de datos. Dato Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos. n9o)8acin Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar lgicamente en archivos. Conceptos bsicos de archivos computacionales. %a8po Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una caracterstica de un individuo u objeto. Re'ist)o Coleccin de campos de iguales o de diferentes tipos. A)c;i(o Coleccin de registros almacenados siguiendo una estructura homognea. Base de datos Es una coleccin de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la informacin concerniente (almacenadas en archivos) de una organizacin, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, el software DBMS y los datos a manejar, as como el personal encargado del manejo del sistema. Siste8a Mane=ado) de Base de Datos. 0DBMS1 DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea especfica. El o<=eti(o p)i8o)dial de un siste8a Mane=ado) de <ase de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interface entre los usuarios y la base de datos. TAREA 5. #!EST"AR 5 DBMS > E#&MERAR S&S %ARA%TERST%AS. A*O#DAR E# E$ DBMS M>S?$. Es@ue8a de <ase de datos. Es la estructura por la que esta formada la base de datos, se especifica por medio de un conjunto de definiciones que se expresa mediante un lenguaje especial llamado lenguaje de definicin de datos. (DDL) Ad8inist)ado) de <ase de datos 0DBA1. Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene(n) experiencia en DBMS, diseo de bases de datos, Sistemas operativos, comunicacin de datos, hardware y programacin. $os siste8as de <ase de datos se diseAan pa)a manejar grandes cantidades de informacin, la manipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de mecanismos para la manipulacin de la informacin, adems un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la integridad de la informacin, a pesar de cadas del sistema o intentos de accesos no autorizados. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . &n o<=eti(o p)incipal de un siste8a de <ase de datos es proporcionar a los usuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertos detalles de como se almacenan y mantienen los datos. Mane=ado) de Bases de Datos El sistema manejador de bases de datos es la porcin ms importante del software de un sistema de base de datos. Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea especfica. $as 9unciones p)incipales de un DBMS son. Crear y organizar la Base de datos. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rpidamente. Manejar los datos de acuerdo a las peticiones de los usuarios. Registrar el uso de las bases de datos. nteraccin con el manejador de archivos. Esto a travs de las sentencias en DML al comando de el sistema de archivos. As el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperacin. Consiste en contar con mecanismos implantados que permitan la recuperacin fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Control de concurrencia. Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar la inconsistencia de los datos. Seguridad e integridad. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos. El DBMS es conocido tambin como Gestor de Base de datos.
La figura muestra el DBMS como interface entre la base de datos fsica y las peticiones del usuario. El DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En s, un sistema manejador de base de datos es el corazn de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.5 O<=eti(os de los siste8as de <ases de datos. Los objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos: Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los datos - es decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la direccin de un cliente en un archivo y que en otros archivos permanezca la anterior. Di9icultad pa)a tene) acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del cdigo postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situacin no fue prevista en el diseo del sistema, no existe ninguna aplicacin de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aisla8iento de los datos. Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados. Ano8alBas del acceso concu))ente. Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisin en el sistema. -)o<le8as de se'u)idad. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos. En un banco por ejemplo, el personal de nminas slo necesita ver la parte de la base de datos que tiene informacin acerca de los distintos empleados del banco y no a otro tipo de informacin. -)o<le8as de inte')idad. Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema aadiendo cdigos apropiados en los diversos programas de aplicacin. 1.4 Modelos de bases de datos Modelos de datos. Para introducirnos en este tema, empezaremos definiendo que es un modelo. modelo: Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica. C?uD es 8odelo de datosE Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia. Los modelos de datos se dividen en tres grupos: Modelos lgicos basados en objetos. Modelos lgicos basados en registros. Modelos fsicos de datos. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Modelos l'icos <asados en o<=etos.
Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin. Modelos l'icos <asados en )e'ist)os. Se utilizan para describir datos en los niveles conceptual y fsico. Estos modelos utilizan registros e instancias para representar la realidad, as como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin. Los tres modelos de datos ms ampliamente aceptados son: Modelo Jerrquico Modelo de Red Modelo Relacional DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.4.1 Modelo Je)+)@uico Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de rboles en lugar de grficas arbitrarias.
1.4.2 Modelo de red. Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de grficas arb itrarias. Ejemplo: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A .
1.4.5 Modelo Relacional En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin de tablas, en las cuales los renglones (tuplas) equivalen a cada uno de los registros que contendr la base de datos y las columnas corresponden a las caractersticas(atributos) de cada registro localizado en la tupla. Considerando nuestro ejemplo del empleado y el artculo: Tabla del empleado DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Ahora te preguntaras cmo se representan las relaciones entre las entidades en este modelo? Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad. Por ejemplo, el RFC de un empleado se distingue de otro por que los RFC no pueden ser iguales. Ahora si, las formas de representar las relaciones en este modelo son: 1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin. Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del artculo es la Clave.fundamentos
2. ncluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.
DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.6A)@uitectu)a de un siste8a de <ase de datos Un sistema de base de datos se encuentra dividido en mdulos, cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayora de los casos, el sistema operativo proporciona nicamente los servicios ms bsicos y el sistema de la base de datos debe partir de esa base y controlar adems el manejo correcto de los datos. As el diseo de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo. Los componentes funcionales de un sistema de base de datos, son: Gestor de archivos. Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas para representar informacin. Manejador de base de datos. Sirve de interfaz entre los datos y los programas de aplicacin. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Procesador de consultas. Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Adems convierte la solicitud del usuario en una forma ms eficiente. Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos. Archivo de datos. En l se encuentran almacenados fsicamente los datos de una organizacin. Diccionario de datos. Contiene la informacin referente a la estructura de la base de datos. ndices. Permiten un rpido acceso a registros que contienen valores especficos. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Una forma grfica de representar los componentes mencionados y la relacin que existe entre ellos sera la guiente. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.7 nstancias : es@ue8as. Con el paso del tiempo la informacin que se va acumulando y desechando en la base de datos, ocasiona que est cambie. Denominamos: nstancia. Al estado que presenta una base de datos en un tiempo dado. Vemoslo como una fotografa que tomamos de la base de datos en un tiempo t, despus de que transcurre el tiempo t la base de datos ya no es la misma. Esquema. Es la descripcin lgica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irn formando cada uno de los atributos. El esquema no cambia los que varan son los datos y con esto tenemos una nueva instancia. Ejemplo: Considerando el ejemplo del vendedor que vende artculos, esquema e instancia segn nuestro ejemplo, quedara: Esquema: {Vendedor: Nombre, puesto, salario, RFC} {Articulo: Clave, costo, descripcin} nstancia:
Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en registros cuyos nombres de campos son: por parte del vendedor (Nombre, puesto, salario, RFC) y por el artculo (Clave, costo, descripcin); La instancia representa a una serie de datos almacenados en los registros establecidos por el esquema, estos datos varan, no permanecen fijos en el tiempo. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.7 Entidades : at)i<utos Entidades y conjunto de entidades
Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus caractersticas llamadas atributos. Las entidades pueden ser concretas como una persona o abstractas como una fecha.
Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo el conjunto de entidades CUENTA, podra representar al conjunto de cuentas de un banco X, o ALUMNO representa a un conjunto de entidades de todos los alumnos que existen en una institucin.
Una entidad se caracteriza y distingue de otra por los atributos, en ocasiones llamadas propiedades, que representan las caractersticas de una entidad. Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como dominio del atributo. As cada entidad se describe por medio de un conjunto de parejas formadas por el atributo y el valor de dato. Habr una pareja para cada atributo del conjunto de entidades. Ejemplo:
Hacer una descripcin para la entidad alumno con los atributos No_control, Nombre y Especialidad. Nombre_atributo, Valor No_control , 96310418 Nombre , Snchez Osuna Ana Esp , L O considerando el ejemplo del Vendedor cuyos atributos son: RFC, Nombre, Salario. Nombre_atributo, Valor RFC , COMD741101YHR Nombre , Daniel Coln Morales Salario , 3000 DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.8 es@ue8as : su<es@ue8as El esquema de la base de datos. Una vez construido el esquema conceptual, el diseo de bases de datos obliga a realizar varias tareas previas a la construccin del esquema lgico global del sistema, tambin llamado esquema de bases de datos. Por el momento, basta saber que el esquema de la base de datos representa la descripcin de los datos de la base de datos, mientras que el esquema conceptual representaba a la realidad. La primera de las tareas necesarias es la identificacin de los datos requeridos, para obtener como resultado las partes del rea de aplicacin que deben representarse mediante datos, y en que forma deben presentarse stos a los usuarios. El siguiente paso es el anlisis de datos, consistente en la definicin y clasificacin de esos datos, su descripcin, que suele presentarse en forma de diccionario de datos, como una "metabase de datos". Por ltimo, debe hacerse la especificacin de los paquetes de entrada y de salida, correspondientes con los datos que deben introducir y obtener como respuesta los usuarios, segn sus necesidades. Las tres tareas habrn permitido obtener tres documentos sobre descripcin del rea de aplicacin, definicin y clasificacin de los datos y especificacin de las caractersticas de los diversos paquetes, respectivamente. Tomando como punto de partida estos tres elementos, se construye la especificacin de esquema de la base de datos, que responder al contenido total de la base de datos y las caractersticas de las vas de acceso requeridas a travs de estos datos. Frente al anlisis de datos, que es la definicin y clasificacin de los datos, el esquema se encarga de la utilizacin de esos datos. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1.F independencia de los datos Se refiere a la proteccin contra los programas de aplicacin que puedan originar modificaciones cuando se altera la organizacin fsica o lgica de la base de datos. Existen 2 niveles de independencia de datos. ndependencia fsica de datos: Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir los programas de aplicacin. ndependencia lgica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicacin. PRMER ENTREGA DE PROYECTO OBJETVO: EL ALUMNO SELECCONARA LA EMPRESA DE SU AGRADO Y APLCARA LAS TECNCAS DE ANALSS Y DSEO PARA OBTENER NFORMACON DE ESTA Y AS PODER REALZAR UN DSEO DE BASE DE DATOS.CONTENDO: EL ALUMNO DEBERA ENTREGAR LA PRMER FACE DEL ANALSS DEL SSTEMA, EL CUAL ESTA COMPUESTO POR LAS SGUENTES ETAPAS: 1.-NVESTGACON PRELMNAR DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 2.-ESTUDOS DE FACTBLDAD (TECNCA, OPERACONAL Y ECONOMCA). 3.-ANALSS DE REQUERMENTOS. + DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . UNDAD 2.1 EntidadG at)i<utoG )elacin
Entidad y atributo Entidad: En una B.D se almacena informacin de una serie de objetos o elementos. Estos objetos reciben el nombre de entidad. En el ejemplo de la Librera, libros, clientes y proveedores son entidades Atributo: De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Pueden ser atributos de una entidad cualquier caracterstica o propiedad de sta. Son atributos de la entidad libros: Autor, Ttulo, rea de Edicin, SBN Relaciones: En una B.D se almacenan adems de las entidades, las relaciones existentes entre ellas. En el ejemplo de la Librera hay relaciones entre: las entidades libros/clientes y las entidades libros/proveedores. Tipo de relaciones: Simples Biunvocas: de Uno a Uno (1 a 1) Complejas De Uno a Muchos (1 a N) De Muchos a Muchos (N a N) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 2.2 %a)dinalidad de 8apeo LA CARDNALDAD DE MAPEO ES LA FORMA EN QUE LAS ENTDADES SE RELACONAN UNAS CON OTRAS. A LOS TPOS DE RELACONES ENTRE ENTDADES, SE LES LLAMA: LMTANTES DE MAPEO. Limitantes de mapeo. Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas entidades de tipo B se pueden relacionar una entidad de tipo A: Tipos de relaciones: Relacin uno a uno. Se presenta cuando existe una relacin como su nombre lo indica uno a uno, denominado tambin relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y viceversa; Por ejemplo: la relacin asignacin de automvil que contiene a las entidades EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un empleado con un nico automvil por lo tanto ningn empleado posee ms de un automvil asignado, y ningn vehculo se asigna a ms de un trabajador. Es representado grficamente de la siguiente manera:
DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . A: Representa a una entidad de cualquier tipo diferente a una entidad B. R: en el diagrama representa a la relacin que existe entre las entidades. El extremo de la flecha que se encuentra punteada indica el uno de la relacin, en este caso, una entidad A ligada a una entidad B. Relacin uno a muchos. Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una entidad del tipo A. Su representacin grfica es la siguiente:
Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica una entidad A conectada a muchas entidades B. Muchos a uno. ndica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una entidad del tipo B. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Muchas a muchas. Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con cualquier cantidad de entidades del tipo B.
A los tipos de relaciones antes descritas, tambin se le conoce como cardinalidad. La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el modelo E-R y establecer con estos, las validaciones necesarias para conseguir que los datos de la instancia (valor nico en un momento dado de una base de datos) correspondan con la realidad. Algunos ejemplos de cardinalidades de la vida comn pueden ser: Uno a uno. El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento, ya que solo existe un solo documento de este tipo para cada una de las diferentes personas. Uno a muchos. Cliente Cuenta en un banco, Padre-Hijos, Camin-Pasajeros, zoolgico- animales, rbol hojas. Muchos a muchos. Arquitecto proyectos, fiesta personas, estudiante materias. NOTA: Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del punto de vista que se le de al modelo en estudio, claro esta, sujetndose a la realidad. Otra clase de limitantes lo constituye la dependencia de existencia. Refirindonos a las mismas entidades A y B, decimos que si la entidad A depende de la existencia de la entidad B, DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . entonces A es dependiente de existencia por B, si eliminamos a B tendramos que eliminar por consecuente la entidad A, en este caso B es la entidad Dominante y A es la entidad subordinada. -RA%T%A 1 DE BASE DE DATOS TEMA. #TROD&%%O# A -*-M> ADM# OBJET!O. E$ A$&M#O DE MA#ERA E2TRA%$ASEG #STA$ARA $A A-$%A%H# DE -*-M>ADM# E# S& ORDE#ADORG DES-&ES DE $A E2-$%A%O# DE$ -RO/ESOR. 1.I EJE%&TAR -*-M>ADM#.E2E 2.I SE SE$E%%O#ARJ E$ DMOA #"$ES. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 5.I SE DA %$% E# E# #E2T -ARA -ASAR $A BE#!E#DA. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 4.I SE SE$E%%O#A $A R&TA DE #STA$A%O#G $A %&A$ SE MA#TE#DRA "&A$. SE DA %$% E# #E2T DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 6.I DE$ A-ARTADO SER!%E SE%TO#G SE SE$E%%O#ARJ# TODAS $AS %AS$$AS > SE DARA %$% E# #STA$$. 7.ISE ES-ERA A ?&E $A #STA$A%O# TERM#E. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 7.IE# $AS !E#TA#AS %O#SE%&T!AS SE DARA %$% E# A%E-TAR A TODAS *ASTA ?&E A-ARE3%A E$ -A#E$ DE %O#TRO$ DE 2AM--. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 8.I -ARA EJE%&TAR -*-M>ADM#G SE EJE%&TARA E$ E2-$ORADOR DE #TER#ETG E# E$ A-ARTADO &R$G ES%RBRJ. $O%A$*OST. A-ARE%ERJ $A S"&E#TE !E#TA#A DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . F.I SE SE$E%%O#A E$ DOMA ES-AKO$ DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 10.I A*ORA SE DA %$% E# E$ A-ARTADO -*-M>ADM# DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 11.I ESTE ES E$ AMBE#TE DE TRABAJO DE -*-M>ADM# DO#DE SE %REARA# ES?&EMASG TAB$ASG BASES DE DATOSG ET%. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 2.5 $la(es p)i8a)ias. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Como ya se ha mencionado anteriormente, la distincin de una entidad entre otra se debe a sus atributos, lo cual la hace nica. Una llave primaria es aquel atributo el cual consideramos clave para la identificacin de los dems atributos que describen a la entidad. Por ejemplo, si consideramos la entidad ALUMNO del nstituto Tecnolgico de La Paz, podramos tener los siguientes atributos: Nombre, Semestre, Especialidad, Direccin, Telfono, Nmero de control, de todos estos atributos el que podremos designar como llave primaria es el nmero de control, ya que es diferente para cada alumno y este nos identifica en la institucin. Claro que puede haber ms de un atributo que pueda identificarse como llave primaria en este caso se selecciona la que consideremos ms importante, los dems atributos son denominados llaves secundarias. Una clave o llave primaria es indicada grficamente en el modelo E-R con una lnea debajo del nombre del atributo. 2.4 Dia')a8a EntidadIRelacin DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de un esquema grfico empleando la terminologa de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus caractersticas particulares denominadas atributos, el enlace que rige la unin de las entidades esta representado por la relacin del modelo. Recordemos que un rectngulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relacin que existe entre las entidades, destacando con lneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado. A continuacin mostraremos algunos ejemplos de modelos E-R, considerando las cardinalidades que existen entre ellos: Relacin Uno a Uno. Problema: Disear el modelo E-R, para la relacin Registro de automvil que consiste en obtener la tarjeta de circulacin de un automvil con los siguientes datos:- Automvil- Modelo, Placas, Color - Tarjeta de circulacin -Propietario, No_serie, Tipo.
ndicamos con este ejemplo que existe una relacin de pertenencia de uno a uno, ya que existe una tarjeta de circulacin registrada por cada automvil.
En este ejemplo, representamos que existe un solo presidente para cada pas. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A .
Relacin muchos a muchos. El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que existen cuentas registradas a favor de ms de una persona).
DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 2.6 Reduccin de dia')a8as EIR a ta<las Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas. Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo. La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos Clave, descripcin, costo. Cuyo diagrama E-R es el siguiente: Entonces las tablas resultantes siguiendo la descripcin anterior son: Tabla Empleado NombrePuesto Salario RFC Tefilo Vendedor 2000 TEAT701210XYZ Cesar Auxiliar ventas 1200 COV741120ABC Tabla artculo Clave Descripci n Costo A100 Abanico 460 C260 Colcha matrimonia 1200 DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . l Tabla Venta RFC Clave TEAT701210XYZ C260 COV741120ABC A100 Ntese que en la tabla de relacin - Venta -, contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relacin, en caso de que exista un atributo en las relaciones, este atributo es anexado como una fila ms de la tabla; Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria sera la siguiente: RFC ClaveFecha TEAT701210XYZ C260 10/12/96 COV741120ABC A100 11/12/96 2.7 "ene)ali,acin : especiali,acin Generalizacin. Es el resultado de la unin de 2 o ms conjuntos de entidades (de bajo nivel) para producir un conjunto de entidades de ms alto nivel. La generalizacin se usa para hacer resaltar los parecidos entre tipos de entidades de nivel ms bajo y ocultar sus diferencias. La generalizacin consiste en identificar todos aquellos atributos iguales de un conjunto de entidades para formar una entidad(es) global(es) con dichos atributos semejantes, dicha entidad(es) global(es) quedara a un nivel ms alto al de las entidades origen. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Ejemplo: Tomando el ejemplo del libro de fundamentos de base de datos de Henry F. Korth. Donde: Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y Saldo, aunque adems de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_nteres y Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades. Entonces tenemos:
Podemos leer esta grfica como: La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos No_Cta y saldo, adems del atributo de Tasanteres, de forma semejante Cta_cheque tiene los atributos de No_Cta, Saldo y SaldoDeudor. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Como podemos observar la Generalizacin trata de eliminar la redundancia (repeticin) de atributos, al englobar los atributos semejantes. La entidad(es) de bajo nivel cuentan (heredan) todos los atributos correspondientes. Especializacin: Es el resultado de tomar un subconjunto de entidades de alto nivel para formar un conjunto de entidades de ms bajo nivel. * En la generalizacin cada entidad de alto nivel debe ser tambin una entidad de bajo nivel. La especializacin no tiene este limitante. * Se representa por medio de un tringulo denominado con la etiqueta "SA", se distingue de la generalizacin por el grosor de las lneas que conectan al tringulo con las entidades. * La especializacin denota la diferencia entre los conjuntos de entidades de alto y bajo nivel. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . PRACTCA 2 NOMBRE: NCO DEL MODELADO DE LA BASE DE DATOS: OBJETVO: EL ALUMNO CONSTRURA DEL ENTORNO DE UNA ESCUELA LA ESTRUCTURA O MODELADO DE LA BASE DE DATOS DE ESTA, PREVAS CLASES TEORCAS Y PRACTCAS, POR PARTE DEL PROFESOR. DESARROLLO: EL ALUMNO CONSTRURA DEL ENTORNO DE UNA ESCUELA LAS ESTRUCTURAS DE E#TDADG ATRB&TO > S& RE$A%O#G DE-E#DE#%AS /&#%O#A$ESG %ARD#A$DAD DE MA-EOG OBTE#%#O DE $$A!ES -RMARAS -OR E#TDADG %O#STR&%%O# DE$ DA"RAMA EIR > RED&%%O# DE$ DA"RAMA EIR A TAB$AS. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 3.1 Estructura de las bases de datos relacionales
La arquitectura relacional se puede expresar en trminos de tres niveles de abstraccin: nivel interno, conceptual y de visin. La arquitectura relacional consta de los siguientes componentes: Modelo relacional de datos: En el nivel conceptual, el modelo relacional de datos est representado por una coleccin de relaciones almacenadas. Cada registro de tipo conceptual en un modelo relacional de datos se implanta como un archivo almacenado distinto. Submodelo de datos: Los esquemas externos de un sistema relacional se llaman submodelos relacionales de datos; cada uno consta de uno a ms escenarios (vistas) para describir los datos requeridos por una aplicacin dada. Un escenario puede incluir datos de una o ms tablas de datos. Cada programa de aplicacin est provisto de un buffer ("rea de trabajo de usuario") donde el DBMS puede depositar los datos recuperados de la base para su procesamiento, o puede guardar temporalmente sus salidas antes de que el DBMS las escriba en la base de datos. Esquema de almacenamiento: En el nivel interno, cada tabla base se implanta como un archivo almacenado. Para las recuperaciones sobre las claves principal o secundaria se pueden establecer uno o ms ndices para acceder un archivo almacenado. Sublenguaje de datos: Es un lenguaje de manejo de datos para el sistema relacional, el lgebra relacional y clculo relacional, ambos lenguajes son "relacionalmente completos", esto es, cualquier relacin que pueda derivarse de una o ms tablas de datos, tambin se puede derivar con u solo comando del sublenguaje. Por tanto, el modo de operacin de entrada/Salida DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . en un sistema relacional se puede procesar en la forma: una tabla a la vez en lugar de: un registro a la vez; en otras palabras, se puede recuperar una tabla en vez de un solo registro con la ejecucin de un comando del sublenguaje de 5.2 Enunciados )elacionales $os len'ua=es de consultas. Son los lenguajes en el que los usuarios solicitan informacin de la base de datos. Estos lenguajes son generalmente de ms alto nivel que los lenguajes de programacin. Los lenguajes de consulta pueden clasificarse como procedimentales y no procedimentales. En el lenguaje del tipo procedimental el usuario da las instrucciones al sistema para que realice una secuencia de operaciones en la base de datos para calcular el resultado deseado. En el lenguaje no procedimental, el usuario describe la informacin deseada sin dar un procedimiento especfico para obtener dicha informacin. El +l'e<)a )elacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo p)ocedi8ental, a diferencia del Clculo relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 5.5 Ope)ado)es )elacionales Ope)ado)es )elacionales Al igual que en matemticas, estos operadores nos permitirn evaluar las relaciones (igualdad, mayor, menor, etc.) entre un par de operndos (en principio, pensemos en nmeros). Los operadores relacionales son: Operador Accin > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual != Distinto DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 5.4 Jl'e<)a )elacional lgebra relacional Es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo p)ocedi8ental, a diferencia del Clculo relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Unin R U S La unin de dos relaciones R y S, es otra relacin que contiene las tuplas que estn en R, o en S, o en ambas, eliminndose las tuplas duplicadas R y S deben ser unin-compatible, es decir, definidas sobre el mismo conjunto de atributos Tabla R Tabla S Tabla R U S DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Diferencia R - S La diferencia de dos relaciones R y S, es otra relacin que contiene las tuplas que estn en la relacin R, pero no estn en S. R y S deben ser unin-compatible Tabla R Tabla S Tabla R - S Tabla S - R DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . nte)seccin R i S Define una relacin que contiene el conjunto de todas las filas que estn tanto en la relacin R como en S R y S deben ser unin-compatible Equivalencia con operadores bsicos R i S = R (R S) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . SEGUNDA ENTREGA DE PROYECTO OBJETVO: EL ALUMNO DE LA EMPRESA SELECCONADA Y APLCARA LAS TECNCAS DE DE MODELADO DE BASE DE DATOS PARA OBTENER UN MODELO DE LA BD DE ESTA Y AS PODER REALZAR UN DSEO. CONTENDO: EL ALUMNO DEBERA ENTREGAR EL AMODELADO DE LA BASE DE DATOS DE SU EMPRESA LA CUAL DEBE CONSTAR DE LOS SGUENTES PASOS: 1.-OBTENCON DE ENTDADES. 2.-OBTENCON DE ATRBUTOS. 3.-DEPENDENCAS FUNCONALES. 4.-CARDNALDAD Y MAPEO 5.-OBTENCON DE LLAVES PRMARAS. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 6.-CONSTRUCCON DEL DAGRAMA E-R. 7.- REDUCCON DEL DAGRAMA E-R A TABLAS. 5.6 S?$ El $en'ua=e de consulta est)uctu)ado (SQL en ingls Structured ?uery $anguage) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo lanzar consultas con el fin de recuperar -de una forma sencilla- informacin de inters de una base de datos, as como tambin hacer cambios sobre la misma. Es un lenguaje de cuarta generacin (4GL). El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje declarativo de alto ni(el o de no p)ocedi8iento, que gracias a su fuerte base terica y su orientacin al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificacin. De esta forma una sola sentencia puede equivaler a uno o ms programas que utilizas en un lenguaje de bajo nivel orientado a objetos. Opti8i,acin Como ya se dijo arriba, y como suele ser comn en los lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se quiere y no cmo conseguirlo, por lo que una sentencia no establece explcitamente un orden de ejecucin. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . El orden de ejecucin interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de la ejecucin de la misma. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero ralentiza la actualizacin de los datos. Dependiendo del uso de la aplicacin, se priorizar el acceso indexado o una rpida actualizacin de la informacin. La optimizacin difiere sensiblemente en cada motor de base de datos y depende de muchos factores. Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido implementado a nivel experimental y est evolucionando rpidamente. El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el que se encarga de la modificacin de la estructura de los objetos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE. %REATE Este comando crea un objeto dentro de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Ejemplo (crear una tabla) CREATE TABLE TABLA_NOMBRE A$TER Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a una tabla, modificar un trigger, etc. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . E=e8plo 0a')e'a) colu8na a una ta<la1 ALTER TABLE ''TABLA_NOMBRE'' ( ADD NUEVO_CAMPO NT UNSGNED ) DRO- Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER. E=e8plo 1 DROP TABLE TABLA_NOMBRE E=e8plo 2 ALTER TABLE ''TABLA_NOMBRE'' ( DROP COLUMN ''CAMPO_NOMBRE1'' ) TR&#%ATE Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DELETE, es que si se quiere borrar todo el contenido de la tabla, es mucho ms rpido, especialmente si la tabla es muy grande, la desventaja es que TRUNCATE solo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la clusula WHERE. Si bien, en un principio, esta sentencia parecera ser DML (Lenguaje de Manipulacin de Datos), es en realidad una DDL, ya que internamente, el comando truncate borra la tabla y la vuelve a crear y no ejecuta ninguna transaccin. E=e8plo TRUNCATE TABLE ''TABLA_NOMBRE'' DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Lenguaje de manipulacin de datos (L!" De9inicin Un len'ua=e de 8anipulacin de datos (Data Manipulation Language, o DML en ingls) es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos ms popular hoy da es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos MS/DL1, CODASYL u otras. #SERT Una sentencia #SERT de S?$ agrega uno o ms registros a una (y slo una) tabla en una base de datos relacional. /o)8a <+sica NSERT NTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1'', [''valor2,...'']) Las cantidades de columnas y valores deben ser las mismas. Si una columna no se especifica, le ser asignado el valor por omisin. Los valores especificados (o implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error. E=e8plo NSERT NTO agenda_telefonica (nombre, numero) VALUES ('Roberto Fernndez', '4886850'); Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . NSERT NTO ''tabla'' VALUES (''valor1'', [''valor2,...'']) Ejemplo (asumiendo que 'nombre' y 'nmero' son las nicas columnas de la tabla 'agenda_telefonica'): NSERT NTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'); /o)8as a(an,adas #nse$ciones en m%ltiples &ilas Una caracterstica de SQL (desde SQL-92) es el uso de constructores de filas para insertar mltiples filas a la vez, con una sola sentencia SQL: NSERT NTO ''tabla'' (''columna1'', [''columna2,... '']) VALUES (''valor1a'', [''valor1b,...'']), (''value2a'', [''value2b,...'']),... Esta caracterstica es soportada por DB2, PostgreSQL (desde la versin 8.2), MySQL, y H2. Ejemplo (asumiendo ese 'nombre' y 'numero' son las nicas columnas en la tabla 'agenda_telefonica'): NSERT NTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'), ('Alejandro Sosa', '4556550'); Que poda haber sido realizado por las sentencias NSERT NTO agenda_telefonica VALUES ('Roberto Fernndez', '4886850'); NSERT NTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550'); Notar que las sentencias separadas pueden tener semntica diferente (especialmente con respecto a los triggers), y puede tener diferente performance que la sentencia de insercin mltiple. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Para insertar varias filas en MS SQL puede utilizar esa construccin: NSERT NTO phone_book SELECT 'John Doe', '555-1212' UNON ALL SELECT 'Peter Doe', '555-2323'; Tenga en cuenta que no se trata de una sentencia SQL vlida de acuerdo con el estndar SQL (SQL: 2003), debido a la clusula subselect incompleta. Para hacer lo mismo en Oracle se usa DUAL TABLE, siempre que se trate de solo una simple fila: NSERT NTO phone_book SELECT 'John Doe', '555-1212' FROM DUAL UNON ALL SELECT 'Peter Doe','555-2323' FROM DUAL Un estndar-conforme implementacin de esta lgica se muestra el siguiente ejemplo, o como se muestra arriba: NSERT NTO phone_book SELECT 'John Doe', '555-1212' FROM LATERAL (VALUES (1)) AS t(c) UNON ALL SELECT 'Peter Doe','555-2323' FROM LATERAL (VALUES (1)) AS t(c) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 'opia de &ilas de ot$as ta(las Un NSERT tambin puede utilizarse para recuperar datos de otros, modificarla si es necesario e insertarla directamente en la tabla. Todo esto se hace en una sola sentencia SQL que no implica ningn procesamiento intermedio en la aplicacin cliente. Un SUBSELECT se utiliza en lugar de la clusula VALUES. El SUBSELECT puede contener JON, llamadas a funciones, y puede incluso consultar en la misma TABLA los datos que se inserta. Lgicamente, el SELECT se evala antes que la operacin NSERT este iniciada. Un ejemplo se da a continuacin. NSERT NTO phone_book2
SELECT * FROM phone_book WHERE name N ('John Doe', 'Peter Doe') Una variacin es necesaria cuando algunos de los datos de la tabla fuente se esta insertando en la nueva tabla, pero no todo el registro. (O cuando los esquemas de las tablas no son lo mismo.) NSERT NTO phone_book2 ( [name], [phoneNumber] )
SELECT [name], [phoneNumber] FROM phone_book WHERE name N ('John Doe', 'Peter Doe') El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe coincidir con el esquema de la tabla donde los datos son insertados. M:S?$ DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones.[1] MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero las empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado en su mayor parte en ANS C. Al contrario que proyectos como Apache, donde el software es desarrollado por una comunidad pblica y el copyright del cdigo est en poder del autor individual, MySQL es propiedad y est patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems de la venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran va nternet. MySQL AB fue fundado por David Axmark, Allan Larsson, y Michael Widenius. 5.7 Dependencia 9uncional DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . B es funcionalmente dependiente de A. Una dependencia funcional es una conexin entre uno o ms atributos. Por ejemplo si conocemos el valor de Fecha De Nacimiento podemos conocer el valor de Edad. Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: Fecha De Nacimiento Edad Aqu a Fecha De Nacimiento se le conoce como un determinante. Se puede leer de dos formas Fecha De Nacimiento determina a Edad o Edad es funcionalmente dependiente de Fecha De Nacimiento. De la normalizacin (lgica) a la implementacin (fsica o real) puede ser sugerible tener stas dependencias funcionales para lograr mayor eficiencia en las tablas. -)opiedades de la Dependencia 9uncional Existen 3 axiomas de Armstong: Dependencia funcional Reflexiva Si y esta incluido en x entonces Si la direccin o el nombre de una persona estn incluidos en el DN, entonces con el DN podemos determinar la direccin o su nombre. Dependencia funcional Aumentativa Entonces DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . DN nombre dni,direccin nombre,direccin Si con el DN se determina el nombre de una persona, entonces con el DN ms la direccin tambin se determina el nombre o su direccin. Dependencia funcional transitiva. Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice que Z depende transitivamente de X. Simblicamente sera: X ---> Y ---> Z entonces X ---> Z Fecha De Nacimiento Edad Edad Conducir Fecha De Nacimiento Edad Conducir Entonces tenemos que Fecha De Nacimiento determina a Edad y la Edad determina a Conducir, indirectamente podemos saber a travs de Fecha De Nacimiento a Conducir (En muchos pases , para una persona poder conducir un automvil la persona necesita ser mayor de X edad, por eso se utiliza este ejemplo). 5.8 inte')idad )e9e)encial DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . La integridad referencial es una propiedad deseable en las bases de datos. Gracias a la integridad referencial se garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades vlidas, es decir, que existen en la base de datos. mplica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. Todas las bases de datos relacionales gozan de esta propiedad gracias a que el software gestor de base de datos vela por su cumplimiento. En cambio, las bases de datos jerrquicas requieren que los programadores se aseguren de mantener tal propiedad en sus programas. E=e8plo. %8o 9unciona Supongamos una base de datos con las entidades Persona y Factura. Toda factura corresponde a una persona y solamente una. mplica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas. Supongamos que una persona se identifica por su atributo DN (Documento nacional de identidad). Tambin tendr otros atributos como el nombre y la direccin. La entidad Factura debe tener un atributo DN_cliente que identifique a quin pertenece la factura. Por sentido comn es evidente que todo valor de DN_cliente debe corresponder con algn valor existente del atributo DN de la entidad Persona. Esta es la idea intuitiva de la integridad referencial. EListen t)es tipos de inte')idad )e9e)encial. ntegridad referencial dbil: si en una tupla de R todos los valores de los atributos de K tienen un valor que no es el nulo, entonces debe existir una tupla en S que tome esos mismos valores en los atributos de J; ntegridad referencial parcial: si en una tupla de R algn atributo de K toma el valor nulo, entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que los atributos de K con valor no nulo; y ntegridad referencial completa: en una tupla de R todos los atributos de K deben tener el valor nulo o bien todos tienen un valor que no es el nulo y entonces debe existir una tupla en S que tome en los atributos de J los mismos valores que toman los de K. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . La integridad referencial en juego Cuando se crea una nueva instancia de Factura, la integridad referencial exige que el atributo DN_cliente coincida con el atributo DN de alguna instancia de la entidad Persona. En caso contrario, no se permite la operacin. Cuando se intenta eliminar una instancia de Persona, la integridad referencial exige que no exista ninguna factura asociada, es decir, se comprueba que no existe ninguna instancia de Factura cuyo atributo DN_cliente coincida con el atributo DN de la instancia a borrar. En caso contrario, no se permite la operacin. 5.F #o)8ali,acin de <ases de datos Para otros usos de este trmino vase Normalizacin (desambiguacin). El proceso de normalizacin de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una tabla sea considerada como una relacin tiene que cumplir con algunas restricciones: Cada columna debe tener su nombre nico. No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 5.10 se'u)idad e inte')idad En un sistema de gestin de base de datos (SGBD), cada nodo es un descriptor; las relaciones se representan por flechas que conectan los nodos; los datos se organizan en registros de longitud variable, donde cada registro es un conjunto de pares clave / valor, de modo que cada uno contiene toda la informacin que le concierne: relaciones descripcin y valores de los campos. Esto permite omitir el uso de tablas o caracterizaciones globales de un determinado grupo de registros; y por ltimo, los registros de un mismo tipo no tienen por que tener las mismas relaciones o campos. Adems, G tambin puede ser utilizada como una herramienta de integracin de bases de datos tradicionales debido a que cuenta con conectores entre bases de datos JDBC/ODBC (Java DataBase Connectivity, Open DataBase Connectivity). La plataforma guarda cifrados todos los datos codificados, contraseas, identificadores de usuario y dems datos claves; y el resultado del cifrado, lo codifica para mayor seguridad. Adems, G tambin permite generar firmas digitales y cifrar zonas de datos. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . &#DAD ! 4.1 %a)acte)Bsticas de M:S?$ MySQL es un sistema de gestin de bases de datos Una base de datos es una coleccin estructurada de datos. Puede ser cualquier cosa, desde una simple lista de compra a una galera de pintura o las ms vastas cantidades de informacin en una red corporativa. Para aadir, acceder, y procesar los datos almacenados en una base de datos, necesita un sistema de gestin de base de datos como MySQL Server. Al ser los computadores muy buenos en tratar grandes cantidades de datos, los sistemas de gestin de bases de datos juegan un papel central en computacin, como aplicaciones autnomas o como parte de otras aplicaciones. MySQL es un sistema de gestin de bases de datos relacionales Una base de datos relacional almacena datos en tablas separadas en lugar de poner todos los datos en un gran almacn. Esto aade velocidad y flexibilidad. La parte SQL de "MySQL" se refiere a "Structured Query Language". SQL es el lenguaje estandarizado ms comn para acceder a bases de datos y est definido por el estndar ANS/SO SQL. El estndar SQL ha evolucionado desde 1986 y existen varias versiones. En este manual, "SQL-92" se refiere al estndar del 1992, "SQL:1999" se refiere a la versin del 1999, y "SQL:2003" se reviere a la versin actual del estndar. Usamos la frase "el estndar SQL" para referirnos a la versin actual de SQL. MySQL software es Open Source. Open Source significa que es posible para cualquiera usar y modificar el software. Cualquiera puede bajar el software MySQL desde nternet y usarlo sin pagar nada. Si lo desea, puede estudiar el cdigo fuente y cambiarlo para adaptarlo a sus necesidades. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . El software MySQL usa la licencia GPL (GNU General Public License), http://www.fsf.org/licenses/, para definir lo que puede y no puede hacer con el software en diferentes situaciones. Si no se encuentra cmodo con la GPL o necesita aadir cdigo MySQL en una aplicacin comercial, puede comprarnos una licencia comercial. Consulte la ntroduccin a las Licencias MySQL para ms informacin (http://www.mysql.com/company/legal/licensing/). El servidor de base de datos MySQL es muy rpido, fiable y fcil de usar. Si esto es lo que est buscando, debera probarlo. El servidor MySQL tambin tiene una serie de caractersticas prcticas desarrolladas en cooperacin con los usuarios. Puede encontrar comparaciones de rendimiento de MySLQL Server con otros sistemas de gestin de bases de datos en nuestra pgina de comparativas de rendimiento. Consulte Seccin 7.1.4, "El paquete de pruebas de rendimiento (benchmarks) de MySQL. MySQL Server se desarroll originalmente para tratar grandes bases de datos mucho ms rpido que soluciones existentes y ha sido usado con xito en entornos de produccin de alto rendimiento durante varios aos. MySQL Server ofrece hoy en da una gran cantidad de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en nternet MySQL Server trabaja en entornos cliente/servidor o incrustados El software de bases de datos MySQL es un sistema cliente/servidor que consiste en un servidor SQL multi-threaded que trabaja con diferentes bakends, programas y bibliotecas cliente, herramientas administrativas y un amplio abanico de interfaces de programacin para aplicaciones (APs). Tambin proporcionamos el MySQL Server como biblioteca incrustada multi- threaded que puede ligar en su aplicacin para obtener un producto ms pequeo, rpido y fcil de administrar. Historia de MySQL Empezamos con la intencin de usar MySQL para conectar a nuestras tablas utilizando nuestras propias rutinas rpidas de bajo nivel (SAM). Sin embargo y tras algunas pruebas, llegamos a la conclusin que MySQL no era lo suficientemente DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . rpido o flexible para nuestras necesidades. Esto provoc la creacin de una nueva interfaz SQL para nuestra base de datos pero casi con la misma interfaz AP que MySQL. Esta AP fue diseada para permitir cdigo de terceras partes que fue escrito para poder usarse con MySQL para ser fcilmente portado para el uso con MySQL. La derivacin del nombre MySQL no est clara. Nuestro directorio base y un gran nmero de nuestras bibliotecas y herramientas han tenido el prefijo "my" por ms de 10 aos. Sin embargo, la hija del co-fundador Monty Widenius tambin se llama My. Cul de los dos di su nombre a MySQL todava es un misterio, incluso para nosotros. El nombre del delfn de MySQL (nuestro logo) es "Sakila", que fue elegido por los fundadores de MySQL AB de una gran lista de nombres sugerida por los usuarios en el concurso "Name the Dolphin" (ponle nombre al delfn). El nombre ganador fue enviado por Ambrose Twebaze, un desarrollador de software Open Source de Swaziland, frica. Segn Ambrose, el nombre femenino de Sakila tiene sus races en SiSwate, el idioma local de Swaziland. Sakila tambin es el nombre de una ciudad en Arusha, Tanzania, cerca del pas de origen de Ambrose, Uganda. Las principales caractersticas de MySQL La siguiente lista describe algunas de las caractersticas ms importantes del software de base de datos MySQL. nterioridades y portabilidad DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Escrito en C y en C++ Probado con un amplio rango de compiladores diferentes Funciona en diferentes plataformas. Usa GNU Automake, Autoconf, y Libtool para portabilidad. APs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
Uso completo de multi-threaded mediante threads del kernel. Pueden usarse fcilmente mltiple CPUs si estn disponibles. Proporciona sistemas de almacenamientos transaccionales y no transaccionales. Usa tablas en disco B-tree (MySAM) muy rpidas con compresin de ndice. Relativamente sencillo de aadir otro sistema de almacenamiento. Esto es til si desea aadir una interfaz SQL para una base de datos propia. Un sistema de reserva de memoria muy rpido basado en threads. Joins muy rpidos usando un multi-join de un paso optimizado. Tablas hash en memoria, que son usadas como tablas temporales. Las funciones SQL estn implementadas usando una librera altamente optimizada y deben ser tan rpidas como sea posible. Normalmente no hay reserva de memoria tras toda la inicializacin para consultas. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . El cdigo MySQL se prueba con Purify (un detector de memoria perdida comercial) as como con Valgrind, una herramienta GPL (http://developer.kde.org/~sewardj/). El servidor est disponible como un programa separado para usar en un entorno de red cliente/servidor. Tambin est disponible como biblioteca y puede ser incrustado (linkado) en aplicaciones autnomas. Dichas aplicaciones pueden usarse por s mismas o en entornos donde no hay red disponible.. Tipos de columnas Diversos tipos de columnas: enteros con/sin signo de 1, 2, 3, 4, y 8 bytes de longitud, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TME, DATETME, TMESTAMP, YEAR, SET, ENUM, y tipos espaciales OpenGS. Registros de longitud fija y longitud variable. Sentencias y funciones Soporte completo para operadores y funciones en las clusulas de consultas SELECT y WHERE. Por ejemplo: mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30; Soporte completo para las clusulas SQL GROUP BY y ORDER BY. Soporte de funciones de agrupacin (COUNT(), COUNT(DSTNCT ...), AVG(), STD(), SUM(), MAX(), MN(), y GROUP_CONCAT()). Soporte para LEFT OUTER JON y RGHT OUTER JON cumpliendo estndares de sintaxis SQL y ODBC. Soporte para alias en tablas y columnas como lo requiere el estndar SQL. DELETE, NSERT, REPLACE, y UPDATE devuelven el nmero de filas que han DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . cambiado (han sido afectadas). Es posible devolver el nmero de filas que seran afectadas usando un flag al conectar con el servidor. El comando especfico de MySQL SHOW puede usarse para obtener informacin acerca de la base de datos, el motor de base de datos, tablas e ndices. El comando EXPLAN puede usarse para determinar cmo el optimizador resuelve una consulta. Los nombres de funciones no colisionan con los nombres de tabla o columna. Por ejemplo, ABS es un nombre vlido de columna. La nica restriccin es que para una llamada a una funcin, no se permiten espacios entre el nombre de funcin y el '(' a continuacin. Puede mezclar tablas de distintas bases de datos en la misma consulta (como en MySQL 3.22). Seguridad Un sistema de privilegios y contraseas que es muy flexible y seguro, y que permite verificacin basada en el host. Las contraseas son seguras porque todo el trfico de contraseas est encriptado cuando se conecta con un servidor. Escalabilidad y lmites Soporte a grandes bases de datos. Usamos MySQL Server con bases de datos que contienen 50 millones de registros. Tambin conocemos a usuarios que usan MySQL Server con 60.000 tablas y cerca de 5.000.000.000.000 de registros. Se permiten hasta 64 ndices por tabla (32 antes de MySQL 4.1.2). Cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son 1000 bytes (500 antes de MySQL 4.1.2).Un ndice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT. Conectividad DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Los clientes pueden conectar con el servidor MySQL usando sockets TCP/P en cualquier plataforma. En sistemas Windows de la familia NT (NT,2000,XP, o 2003), los clientes pueden usar named pipes para la conexin. En sistemas Unix, los clientes pueden conectar usando ficheros socket Unix. En MySQL 5.0, los servidores Windows soportan conexiones con memoria compartida si se inicializan con la opcin --shared-memory. Los clientes pueden conectar a travs de memoria compartida usando la opcin --protocol=memory. La interfaz para el conector ODBC (MyODBC) proporciona a MySQL soporte para programas clientes que usen conexiones ODBC (Open Database Connectivity). Por ejemplo, puede usar MS Access para conectar al servidor MySQL. Los clientes pueden ejecutarse en Windows o Unix. El cdigo fuente de MyODBC est disponible. Todas las funciones para ODBC 2.5 estn soportadas, as como muchas otras. La interfaz para el conector J MySQL proporciona soporte para clientes Java que usen conexiones JDBC. Estos clientes pueden ejecutarse en Windows o Unix. El cdigo fuente para el conector J est disponible. Localizacin El servidor puede proporcionar mensajes de error a los clientes en muchos idiomas. Soporte completo para distintos conjuntos de caracteres, incluyendo latin1 (SO-8859-1), german, big5, ujis, y ms. Por ejemplo, los caracteres escandinavos '', '' y '' estn permitidos en nombres de tablas y columnas. El soporte para Unicode est disponible Todos los datos se guardan en el conjunto de caracteres elegido. Todas las comparaciones para columnas normales de cadenas de caracteres son case-insensitive. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . La ordenacin se realiza acorde al conjunto de caracteres elegido (usando colacin Sueca por defecto). Es posible cambiarla cuando arranca el servidor MySQL. Para ver un ejemplo de ordenacin muy avanzada, consulte el cdigo Checo de ordenacin. MySQL Server soporta diferentes conjuntos de caracteres que deben ser especificados en tiempo de compilacin y de ejecucin. Clientes y herramientas MySQL server tiene soporte para comandos SQL para chequear, optimizar, y reparar tablas. Estos comandos estn disponibles a travs de la lnea de comandos y el cliente mysqlcheck. MySQL tambin incluye myisamchk, una utilidad de lnea de comandos muy rpida para efectuar estas operaciones en tablas MySAM. Todos los programas MySQL pueden invocarse con las opciones --help o -? para obtener asistencia en lnea. Estabilidad de MySQL Esta seccin trata las preguntas "Qu estabilidad tiene MySQL Server?" y, "Puedo fiarme de MySQL Server para este DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . proyecto?" ntentaremos clarificar estas cuestiones y responder algunas preguntas importantes que preocupan a muchos usuariospotenciales. La informacin en esta seccin se basa en datos recopilados de las listas de correo, que son muy activas para identificarproblemas as como para reportar tipos de usos. El cdigo original se remonta a los principios de los aos 80. En TcX, la predecesora de MySQL AB, el cdigo MySQL ha funcionado en proyectos desde mediados de 1996 sin ningn problema. Cuando el software de base de datos MySQL fue distribuido entre un pblico ms amplio, nuestros nuevos usuarios rpidamente encontraron trozos de cdigo no probados. Cada nueva versin desde entonces ha tenido pocos problemas de portabilidad incluso considerando que cada nueva versin ha tenido muchas nuevas funcionalidades. Cada versin de MySQL Server ha sido usable. Los problemas han ocurrido nicamente cuando los usuarios han probado cdigo de las "zonas grises". Naturalmente, los nuevos usuarios no conocen cules son estas zonas; esta seccin, por lo tanto, trata de documentar dichas reas conocidas a da de hoy. Las descripciones mayormente se corresponden con la versin 3.23, 4.0 y 4.1 de MySQL Server. Todos los bugs reportados y conocidos se arreglan en la ltima versin, con las excepciones listadas en las secciones de bugs y que estn relacionados con problemas de diseo. Consulte Seccin A.8, "Problemas conocidos en MySQL. El diseo de MySQL Server es multi capa, con mdulos independientes. Algunos de los ltimos mdulos se listan a continuacin con una indicacin de lo bien testeados que estn: Replicatin (Estable) Hay grandes grupos de servidores usando replicacin en produccin, con buenos resultados. Se trabaja para mejorar caractersticas de replicacin en MySQL 5.x. nnoDB tablas (Estable) El motor de almacenamiento transaccional nnoDB es estable y usado en grandes sistemas de produccin con alta carga de trabajo. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . BDB tablas (Estable) El cdigo Berkeley DB es muy estable, pero todava lo estamos mejorando con el interfaz del motor de almacenamiento transaccional BDB en MySQL Server. Bsquedas Full-text (Estable) Bsquedas Full-text es ampliamente usada. MyODBC 3.51 (Estable) MyODBC 3.51 usa ODBC SDK 3.51 y es usado en sistemas de produccin ampliamente. Algunas cuestiones surgidas parecen ser cuestin de las aplicaciones que lo usan e independientes del controlador ODBC o la base de datos subyacente. Dimensiones mximas de las tablas MySQL En MySQL 5.0, usando el motor de almacenamiento MySAM, el mximo tamao de las tablas es de 65536 terabytes (256 ^ 7 1 bytes). Por lo tanto, el tamao efectivo mximo para las bases de datos en MySQL usualmente los determinan los lmites de tamao de ficheros del sistema operativo, y no por lmites internos de MySQL. El motor de almacenamiento nnoDB mantiene las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamao mximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamao mximo del espacio de tablas es 64TB. La siguiente tabla lista algunos ejemplos de lmites de tamao de ficheros de sistemas operativos. Esto es slo una burda gua y no pretende ser definitiva. Para la informacin ms actual, asegrese de consultar la documentacin especfica de su sistema operativo. Sistema operativo Tamao mximo de fichero DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Linux 2.2-ntel 32-bit 2GB (LFS: 4GB) Linux 2.4 (usando sistema de ficheros ext3) 4TB Solaris 9/10 16TB Sistema de ficheros NetWare w/NSS 8TB win32 w/ FAT/FAT32 2GB/4GB win32 w/ NTFS 2TB (posiblemente mayor) MacOS X w/ HFS+ 2TB En Linux 2.2, puede utilizar tablas MySAM mayores de 2GB usando el parche para LFS (Large File Support) en el sistema de ficheros ext2. En Linux 2.4 y posteriores, existen parches para ReiserFS soportando grandes archivos (hasta 2TB). La mayora dedistribuciones Linux se basan en el kernel 2.4 o 2.6 e incluyen todos los parches LFS necesarios. Con JFS y XFS, se permiten ficheros mayores de un petabyte para Linux. Sin embargo, el tamao mximo de ficheros todava depende de diversos factores, uno de ellos siendo el sistema de ficheros usado para almacenar tablas MySQL. Para un resumen ms detallado acerca de LFS en Linux, recomendamos la pgina de Andreas Jaeger Large File Support in Linux en http://www.suse.de/~aj/linux_lfs.html. Usuarios de Windows, por favor tengan en cuenta que: FAT and VFAT (FAT32) no se consideran apropiados para sistemas de produccin con MySQL. Use NTFS para ello. Por defecto, MySQL crea tablas MySAM con una estructura interna que permite un tamao mximo de unas 4GB. Puede chequear el tamao mximo de tabla para una tabla con el comando SHOW TABLE STATUS o con myisamchk -dv tbl_name. Si necesita una tabla MySAM con un tamao mayor a 4GB (y su sistema operativo soporta ficheros grandes), el comando CREATE TABLE permite las opciones AVG_ROW_LENGTH y MAX_ROWS. Tambin puede cambiar esas opciones con ALTER TABLE una vez que la tabla se ha creado, para aumentar el tamao mximo de latabla. Otros mtodos para cambiar los lmites de tamao de ficheros para tablas MySAM son: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Si una tabla es de slo lectura, puede usar myisampack para comprimirla. myisampack normalmente comprime una tabla al menos un 50%, lo que permite, a efectos prcticos, tablas mucho mayores. myisampack puede mezclar mltiples tablas en una misma tabla.
MySQL incluye la biblioteca MERGE que permite tratar una coleccin de tablas MySAM con una estructura idntica en una tabla MERGE. nstalar MySQL En este captulo se describe cmo obtener e instalar MySQL: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 1. Debe determinarse si la plataforma donde se desea hacer la instalacin est soportada. Ntese que no todos los sistemas soportados son igualmente adecuados para ejecutar MySQL. En algunas plataformas el funcionamiento ser mucho ms robusto y eficiente que en otras. 2. Debe elegirse la distribucin que se instalar. Hay varias versiones de MySQL disponibles, y la mayora lo estn en varios formatos de distribucin. Se puede elegir entre distribuciones prearmadas que contienen programas binarios (precompilados) o bien cdigo fuente. En caso de duda, debe elegirse una distribucin binaria. Tambin se provee acceso pblico al cdigo fuente para quienes deseen ver los desarrollos ms recientes y colaborar en el testeo de cdigo nuevo. Para establecer qu versin y tipo de distribucin debera usarse, 3. Descargar la distribucin que se desea instalar. Para ver una lista de sitios desde los cuales se puede obtener MySQL, 4. nstalar la distribucin. Para instalar MySQL desde una distribucin binaria. Para instalar MySQL a partir de una distribucin de cdigo fuente o desde el directorio de desarrollo actual. 5. Realizar cualquier ajuste que sea necesario con posterioridad a la instalacin. 6. Si se desea ejecutar los scripts para medir el rendimiento de MySQL, debe estar disponible el soporte de Perl para MySQL. Cuestiones generales sobre la instalacin Antes de instalar MySQL, se debera hacer lo siguiente: 1. Determinarse si la plataforma donde se desea hacer la instalacin est soportada. 2. Elegirse la distribucin que se instalar. 3. Descargar la distribucin que se desea instalar y verificar su integridad. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Sistemas operativos que MySQL soporta En esta seccin aparecen listados los sistemas operativos en los que es posible instalar MySQL. Se ha utilizado GNU Autoconfig, de modo que es posible portar MySQL a todos los sistemas modernos que tengan un compilador de C++ y una implementacin funcional de subprocesos (threads) POSX. (El soporte de subprocesos es necesario para el servidor. Para compilar nicamente el cdigo del cliente, no se requiere ms que el compilador de C+ +). Nosotros mismos desarrollamos y utilizamos el software ante todo en Linux (SuSE y Red Hat), FreeBSD, y Sun Solaris (Versiones 8 y 9), MySQL ha sido compilado correctamente en las siguientes combinaciones de sistemas operativos y paquetes de subprocesos. Ntese que, para varios sistemas operativos, el soporte nativo de subprocesos funciona solamente en las versiones ms recientes. AX 4.x, 5.x con subprocesos nativos BSD 2.x with con el paquete MT-pthreads. BSD 3.0, 3.1 y 4.x con subprocesos nativos. Digital Unix 4.x con subprocesos nativos. FreeBSD 2.x con el paquete MT-pthreads. FreeBSD 3.x and 4.x con subprocesos nativos. FreeBSD 4.x con LinuxThreads. HP-UX 10.20 con el paquete DCE threads o MT-pthreads. HP-UX 11.x con subprocesos nativos. Linux 2.0+ con LinuxThreads 0.7.1+ o glibc 2.0.7+ para varias arquitecturas de CPU. Mac OS X. NetBSD 1.3/1.4 ntel y NetBSD 1.3 Alpha (requiere GNU make). Novell NetWare 6.0. OpenBSD > 2.5 con subprocesos nativos. OpenBSD < 2.5 con el paquete MT-pthreads. OS/2 Warp 3, FixPack 29 y OS/2 Warp 4, FixPack 4. SCO OpenServer 5.0.X con una versin del paquete FSU Pthreads recientemente portada. SCO UnixWare 7.1.x. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . SCO Openserver 6.0.x. SG rix 6.x con subprocesos nativos. Solaris 2.5 y posteriores con subprocesos nativos en SPARC y x86. SunOS 4.x con el paquete MT-pthreads package. Tru64 Unix. Windows 9x, Me, NT, 2000, XP, y 2003. 4.2 Crear y seleccionar una base de datos Si el administrador crea su base de datos en el mismo momento que le otorga privilegios, puede comenzar a utilizarla, de lo contrario necesitar crearla: mysql> CREATE DATABASE menagerie; DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . En ambientes Unix, los nombres de las bases de datos son case sensitive (al contrario que las palabras clave), de modo que siempre debe referirse a su base de datos como menagerie, y no Menagerie, MENAGERE, o una variante similar. Esto tambin se aplica a los nombres de tablas. Esta restriccin no existe en Windows, aunque puede utilizar el mismo esquema de maysculas cuando se refiera a bases de datos y tablas en una consulta dada. Al crear una base de datos, sta no se selecciona para su uso, debe hacerlo explcitamente. Para convertir a menagerie en la base de datos actual, use este comando: mysql> USE menagerie Database changed Las bases de datos slo necesitan ser creadas una sola vez, pero deben ser seleccionadas cada vez que se inicia una sesin de mysql. Puede hacerse a travs del comando USE como se muestra en el ejemplo, o puede indicar la base de datos en la lnea de comandos al ejecutar mysql. Simplemente debe indicar el nombre de la base de datos a continuacin de los parmetros que necesite ingresar. Por ejemplo: shell> mysql -h host -u user -p menagerie Enter password: ******** Advierta en el comando anterior que menagerie no es la contrasea. Si se quisiera suministrar la contrasea en la lnea de comandos, despus de la opcin -p, debe hacerse sin dejar espacios en blanco (por ejemplo, pmypassword, no -p mypassword). De todos modos, colocar la contrasea en la lnea de comandos no es recomendable porque lo expone a la vista de otros usuarios. %)ea) una ta<la DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . La creacin de la base de datos ha sido una tarea sencilla, pero hasta ahora permanece vaca, como le muestra SHOW TABLES: mysql> SHOW TABLES; Empty set (0.00 sec) La parte difcil es decidir cmo debera ser la estructura de su base de datos: qu tablas necesitar, y qu columnas habr en cada tabla. Querr una tabla para contener un registro por cada mascota. Esta tabla puede llamarse pet, y debera contener, como mnimo, el nombre de cada animal. Dado que el nombre no es muy relevante por s mismo, tendra que tener ms informacin. Por ejemplo, si ms de una persona en su familia tendr mascotas, querr listar tambin el dueo de cada animal. Y algunos otros datos descriptivos bsicos, como especie y sexo. Qu hacer con la edad? Podra ser de inters, pero no es un buen dato para almacenar en una base de datos. La edad cambia a medida que pasa el tiempo, lo cual significa que debera actualizar la base de datos a menudo. En lugar de esto, es mejor almacenar un valor fijo, como la fecha de nacimiento. De este modo, cada vez que requiera saber la edad, podr calcularla como la diferencia entre la fecha de nacimiento y la fecha actual. MySQL provee funciones para realizar clculos con fechas, por lo que no es dificultoso. Almacenar la fecha de nacimiento en lugar de la edad tiene otras ventajas: Puede usar la base de datos para tareas como generar recordatorios para los prximos cumpleaos de mascotas. (Si piensa que este tipo de consultas no es importante, considere que es lo mismo que hara en un contexto de base de datos de negocios para identificar aquellos clientes a los que habr que enviar una tarjeta por su cumpleaos, para conseguir ese toque personal con la asistencia del ordenador). Puede calcular edades en relacin a otras fechas adems de la actual. Por ejemplo, almacenar la fecha de muerte de una mascota le posibilita calcular la edad que tena a ese momento. Probablemente pensar en otros tipos de informacin que resultaran tiles dentro de la tabla pet pero los identificados hasta ahora son suficientes: name (nombre), owner (propietario), species (especie), sex (sexo), birth (nacimiento) y death (muerte). Debe usar la sentencia CREATE TABLE para especificar la estructura de una tabla: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); El tipo de dato VARCHAR es una buena eleccin para las columnas name, owner, y species porque los datos que all se almacenan no son de longitud uniforme. En realidad no es necesario que todas estas columnas tengan la misma longitud ni que sta sea 20. En MySQL 5.0.3 y versiones posteriores, normalmente se puede adoptar cualquier longitud entre 1 y 65535, segn lo que se crea ms razonable. (Nota: Anteriormente a MySQL 5.0.3, el lmite de longitud era 255.) Si en el futuro debiera aumentar la longitud de estos campos, MySQL tiene la sentencia ALTER TABLE. Hay varios tipos de datos que podran usarse para representar el sexo en los registros de animales, tal como 'm' y 'f', o 'male' (masculino) y 'female' (femenino). Lo ms simple es usar los caracteres 'm' y 'f'. Es obvio el uso del tipo de dato DATE para las columnas birth y death. Luego de crear una tabla, SHOW TABLES debera producir una salida: mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | pet | +---------------------+ Para verificar que la tabla ha sido creada en la forma esperada, utilice la sentencia DESCRBE: mysql> DESCRBE pet; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ DESCRBE puede ser utilizada en cualquier momento, por ejemplo, si olvida los nombres o el tipo de dato de las columnas de la tabla. %a)'a) datos en una ta<la Luego de crear la tabla, necesitar completarla con datos. Para esto, le sern de utilidad las sentencias LOAD DATA e NSERT. Suponga que los registros de mascotas fueran como los mostrados a continuacin. (Observe que MySQL espera que las fechas tengan el formato 'AAAA-MM-DD', esto puede ser diferente a lo que acostumbra utilizar). DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . na8e oMne) species seL <i)t; deat; Fluffy Harold cat f 1993-02-04 Claws Gwen cat m 1994-03-17 Buffy Harold dog f 1989-05-13 Fang Benny dog m 1990-08-27 Bowser Diane dog m 1979-08-31 1995-07-29 Chirpy Gwen bird f 1998-09-11 Whistler Gwen bird 1997-12-09 Slim Benny snake m 1996-04-29 Dado que est comenzando con una tabla vaca, una forma fcil de completarla es creando un fichero de texto que contenga una lnea por cada animal, y luego insertando el contenido del fichero en la tabla mediante una sola sentencia. Para esto, debera crear un fichero de texto llamado pet.txt, conteniendo un registro por lnea, con cada valor separado por un carcter de tabulacin, y dispuestos en el orden en el cual se especificaron las columnas en la sentencia CREATE TABLE. Para valores ausentes (como sexo desconocido o fechas de muerte de animales con vida), puede usar valores NULL. Para representar estos valores en el archivo de texto, utilice \N (barra diagonal y N mayscula). Por ejemplo, el registro de Whistler se vera del modo siguiente (el espacio en blanco entre cada valor es un solo carcter de tabulacin): na8e oMne) species seL <i)t; deat; Whistler Gwen bird \N 1997-12-09 \N Para cargar el fichero pet.txt dentro de la tabla pet, utilice este comando: mysql> LOAD DATA LOCAL NFLE '/path/pet.txt' NTO TABLE pet; DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Si trabaja en Windows, con un editor que emplea \r\n (retorno de carro + nueva lnea) como caracteres de fin de lnea, debera usar: mysql> LOAD DATA LOCAL NFLE '/path/pet.txt' NTO TABLE pet -> LNES TERMNATED BY '\r\n'; (En un ordenador Apple bajo OS X, probablemente quiera utilizar LNES TERMNATED BY '\r'.) Opcionalmente puede especificar en la sentencia LOAD DATA los caracteres que actuarn como separador de campo y fin de lnea, pero los valores por defecto son tabulacin y nueva lnea. Estos son suficientes para que la sentencia lea correctamente el fichero pet.txt Si ocurre un error al ejecutar la sentencia, probablemente se deba a que su instalacin de MySQL no tiene habilitada por defecto la capacidad de manejar archivos locales. Cuando lo que desea es agregar nuevos registros de a uno por vez, la sentencia NSERT resulta de utilidad. De esta sencilla manera, se suministran valores para cada columna, dispuestos en el orden en el cual se especificaron las columnas en la sentencia CREATE TABLE statement. Suponga que Diane obtiene un nuevo hamster llamado "Puffball". Se podra agregar un nuevo registro, usando la sentencia NSERT de este modo: mysql> NSERT NTO pet -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL); Observe que las cadenas alfanumricas y las fechas son representadas como cadenas delimitadas por apstrofos. Tambin, con NSERT, se pueden insertar valores NULL directamente, para indicar un valor ausente. No se debe utilizar \N como se hace con LOAD DATA. A partir de este ejemplo queda demostrado que lleva mucho ms trabajo realizar una carga inicial de registros empleando varias sentencias NSERT que si se hace mediante la sentencia LOAD DATA. ELt)ae) in9o)8acin de una ta<la La sentencia SELECT es utilizada para traer informacin desde una tabla. La sintaxis general de esta sentencia es: SELECT seleccionar_Esto FROM desde_tabla DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . WHERE condiciones; seleccionar_esto es lo que se quiere ver. Puede ser una lista de columnas, o * para indicar "todas las columnas. desde_tablaindica la tabla donde estn los datos a recuperar. La clusula WHERE clause is optional. es opcional. Si est presente, condiciones representa las condiciones que cada registro debe cumplir para retornar como resultado. Selecciona) todos los datos La forma ms simple de SELECT recupera todo lo que hay en la tabla: mysql> SELECT * FROM pet; +----------+--------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +----------+--------+---------+------+------------+------------+ | Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Fang | Benny | dog | m | 1990-08-27 | NULL | | Bowser | Diane | dog | m | 1979-08-31 | 1995-07-29 | | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | | Puffball | Diane | hamster | f | 1999-03-30 | NULL | +----------+--------+---------+------+------------+------------+ Esta forma de SELECT es til si se quiere revisar la tabla completa, por ejemplo, despus de haberla cargado con un conjunto de datos inicial. Por ejemplo, puede ocurrir que la fecha de nacimiento de Bowser no parezca correcta. Consultando los papeles de pedigri, se descubre que el ao correcto de nacimiento es 1989, no 1979. Existen al menos dos formas de solucionarlo: Editando el fichero pet.txt para corregir el error, vaciando la tabla y volvindola a llenar con los datos. Para esto se usan las sentencias DELETE y LOAD DATA: mysql> DELETE FROM pet; mysql> LOAD DATA LOCAL NFLE 'pet.txt' NTO TABLE pet; DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . No obstante, si opta por esto, deber volver a cargar el registro de Puffball. Corrigiendo nicamente el registro errneo. Para esto se usa la sentencia UPDATE: mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser'; UPDATE modifica solo el registro en cuestin y no requiere que se vuelva a llenar la tabla. 4.5 Ent)a) consultas Cercirese de haberse conectado al servidor, tal como se describe en la seccin anterior. Esto en s mismo no selecciona ninguna base de datos para trabajar. En este punto es ms importante aprender un poco ms acerca de cmo realizar consultas que ir directamente a crear tablas, cargar datos, y recuperarlos. Esta seccin describe los principios bsicos del ingreso de comandos, empleando varias consultas que puede realizar para familiarizarse con la forma en que funciona mysql. Aqu tiene un comando simple que ordena al servidor que muestre su nmero de versin y la fecha actual. ngrselo a continuacin del prompt mysql> y presione Enter: mysql> SELECT VERSON(), CURRENT_DATE; +----------------+--------------+ | VERSON() | CURRENT_DATE | +----------------+--------------+ | 5.0.7-beta-Max | 2005-07-11 | +----------------+--------------+ 1 row in set (0.01 sec) mysql> Esta consulta le muestra varias cosas acerca de mysql: Un comando normalmente consiste en una sentencia SQL seguida de punto y coma. (Hay excepciones donde el punto y coma puede omitirse. QUT, mencionado anteriormente, es una de ellas. Luego conocer otras.) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Cuando ingresa un comando, mysql lo enva al servidor para ser ejecutado e imprime los resultados. A continuacin muestra de nuevo el prompt mysql> para informarle que est listo para otro comando. mysql imprime los resultados de la consulta en forma tabulada (filas y columnas). La primera fila contiene etiquetas para las columnas. Las filas siguientes son los resultados de la consulta. Generalmente, el nombre de cada columna es el nombre del campo que trae desde la base de datos. Si est trayendo el valor de una expresin, en lugar del contenido de un campo o columna de una tabla (como en el ejemplo anterior), mysql etiqueta la columna usando el texto de la expresin. mysql informa cuntas filas fueron devueltas y cunto tiempo le tom ejecutarse a la consulta, lo cual da una idea aproximada del rendimiento del servidor. Estos valores son imprecisos porque representan tiempo de reloj corriente (no tiempo de CPU), y adems porque estn afectados por factores como la carga del servidor o la latencia de red. (Para simplificar los ejemplos de este capitulo, a partir de ahora no se mostrar la lnea "rows in set.) Las palabras clave pueden ingresarse en cualquier combinacin de minsculas y maysculas. Las siguientes consultas son equivalentes: mysql> SELECT VERSON(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; Aqui tiene otra consulta que demuestra que mysql puede usarse como calculadora: mysql> SELECT SN(P()/4), (4+1)*5; +------------------+---------+ | SN(P()/4) | (4+1)*5 | +------------------+---------+ | 0.70710678118655 | 25 | +------------------+---------+ 1 row in set (0.02 sec) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Las consultas mostradas hasta ahora han sido relativamente cortas, sentencias de una sola lnea. Se puede inclusive ingresar mltiples sentencias en una misma lnea. Solamente deben separarse con punto y coma: mysql> SELECT VERSON(); SELECT NOW(); +----------------+ | VERSON() | +----------------+ | 5.0.7-beta-Max | +----------------+ 1 row in set (0.00 sec) +---------------------+ | NOW() | +---------------------+ | 2005-07-11 17:59:36 | +---------------------+ 1 row in set (0.00 sec) No es necesario que un comando sea ingresado en una sola lnea, de ese modo, comandos extensos que requieren varias lneas no son un problema. mysql determina cuando una sentencia ha llegado a l final observando si termina en un punto y coma, no si se lleg al final de la lnea fsica. (En otras palabras, mysql acepta un formato libre para las entradas: recolecta lneas pero no las ejecuta hasta que encuentra el punto y coma.) Aqui tiene una sentencia de mltiples lneas: mysql> SELECT -> USER() -> , -> CURRENT_DATE; +---------------+--------------+ | USER() | CURRENT_DATE | +---------------+--------------+ | jon@localhost | 2005-07-11 | +---------------+--------------+ 1 row in set (0.00 sec) DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Observe en este ejemplo que el prompt cambia de mysql> a -> despus que se ha ingresado la primera lnea de una consulta de mltiples lneas. Esta es la forma en que mysql advierte que no se ha completado la sentencia y an espera por el resto. El prompt es un aliado, puesto que suministra informacin valiosa. Si se emplea, siempre se sabr lo que mysql est esperando. Si durante el ingreso de un comando decide que no quiere ejecutarlo, canclelo tipeando \c: mysql> SELECT -> USER() -> \c mysql> Una vez ms observe el prompt. Cambia a mysql> despus de que ingresa \c, informndole que mysql est listo para un nuevo comando. La siguiente tabla muestra cada uno de los indicadores que podr ver y sintetiza lo que dicen acerca del estado en que se encuentra mysql: Prompt Significado mysql> Listo para un nuevo comando. -> Esperando la siguiente lnea en un comando de mltiples lneas. '> Esperando la siguiente lnea, se encuentra abierta una cadena que comienza con apostrofo ('''). "> Esperando la siguiente lnea, se encuentra abierta una cadena que comienza con comillas dobles ('"'). `> Esperando la siguiente lnea, se encuentra abierta una cadena que comienza con tilde ('`'). /*> Esperando la siguiente lnea, se encuentra abierto un comentario que comienza con /*. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . El prompt /*> fue introducido en la serie 5.0 a partir de MySQL 5.0.6. Es frecuente que se origine una sentencia de mltiples lneas cuando accidentalmente le da entrada a un comando de una sola lnea pero olvida terminarlo con punto y coma. En ese caso, mysql aguarda por ms caracteres: mysql> SELECT USER() -> Si esto le ocurre (considera que ha ingresado una sentencia completa pero solamente obtiene un prompt ->), la mayora de las veces es porque mysql est esperando por el punto y coma. Si no advierte lo que el indicador trata de decirle, podra demorar un buen tiempo en hacer lo que necesita. ngrese un punto y coma para completar la sentencia, y mysql la ejecutar: mysql> SELECT USER() -> ; +--------------------+ | USER() | +--------------------+ | joesmith@localhost | +--------------------+ Los prompts '> y "> aparecen durante el ingreso de cadenas. Puede escribir cadenas delimitadas por ''' o '"' (por ejemplo, 'hola' o "adis"), y mysql le permite ingresar cadenas divididas en mltiples lneas. Cuando ve un prompt '> o "> significa que ha comenzado a ingresar una cadena comenzando con ''' o '"' pero no ha ingresado el correspondiente carcter de terminacin. A menudo esto significa que inadvertidamente omiti este carcter. Por ejemplo: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '> Si ingresa esta sentencia SELECT, presiona ENTER y espera por el resultado, nada ocurrir. En lugar de asombrarse por el tiempo que consume la consulta, note lo que el prompt '> le est diciendo. ndica que mysql espera por el final de una cadena inconclusa. (Ve el error en la sentencia? La cadena 'Smith no tiene el apstrofo de cierre.) Qu hacer llegado a este punto? Lo ms simple es cancelar el comando. No obstante, no puede simplemente tipear \c en este caso, porque mysql interpretar que es parte de la cadena que est ingresando!. En lugar de eso, tipee el carcter de cierre que falta y entonces ingrese \c.>: mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '> '\c mysql> El prompt cambia de nuevo a mysql>, informando que mysql est listo para un nuevo comando. El prompt `> es similar a '> y "> , pero informa que est pendiente de completar un identificador delimitado por tildes. Es importante conocer el significado de estos indicadores, ya que si por error se ingresa una cadena incompleta, todo lo que se ingrese posteriormente ser aparentemente ignorado por mysql incluyendo el comando QUT. Esto puede ser sumamente desconcertante, en particular si no se conoce lo que debe hacer para terminar la lnea y cancelar el comando. Selecciona) )e'ist)os especB9icos Como se ha visto en la seccin anterior, es fcil recuperar una tabla en su totalidad. Slo debe omitir la clusula WHERE en la sentencia SELECT. Pero, generalmente, no se desea ver la tabla completa, especialmente cuando alcanza un gran tamao. En cambio, usualmente, se tiene inters en obtener una respuesta para una consulta en particular, en cuyo caso se especifican algunas restricciones para la informacin que se traer. A continuacin se vern algunas consultas que responden preguntas acerca de las mascotas. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Se pueden seleccionar slo algunos registros de la tabla. Por ejemplo, si quisiera verificar los cambios realizados sobre la fecha de nacimiento de Bowser, seleccione el registro de Bowser de esta manera: mysql> SELECT * FROM pet WHERE name = 'Bowser'; +--------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +--------+-------+---------+------+------------+------------+ | Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 | +--------+-------+---------+------+------------+------------+ La salida confirma que el ao fue correctamente registrado como 1989, ya no es 1979. Normalmente, las comparaciones de cadenas no son case sensitive, por eso puede escribir el nombre como 'bowser', 'BOWSER', etc. El resultado de la consulta ser el mismo. Se pueden indicar condiciones a cumplir por cualquier columna, no solamente por name. Por ejemplo, si quisiera saber qu animales han nacido luego de 1998, necesita evaluar la columna birth: mysql> SELECT * FROM pet WHERE birth > '1998-1-1'; +----------+-------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +----------+-------+---------+------+------------+-------+ | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Puffball | Diane | hamster | f | 1999-03-30 | NULL | +----------+-------+---------+------+------------+-------+ Se pueden combinar condiciones, por ejemplo para localizar perros hembra: mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f'; +-------+--------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +-------+--------+---------+------+------------+-------+ | Buffy | Harold | dog | f | 1989-05-13 | NULL | DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . +-------+--------+---------+------+------------+-------+ La consulta anterior emplea el operador lgico AND. Tambin existe el operador OR: mysql> SELECT * FROM pet WHERE species = 'snake' OR species = 'bird'; +----------+-------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +----------+-------+---------+------+------------+-------+ | Chirpy | Gwen | bird | f | 1998-09-11 | NULL | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | | Slim | Benny | snake | m | 1996-04-29 | NULL | +----------+-------+---------+------+------------+-------+ AND and OR pueden ser combinadas, si bien AND tiene mayor precedencia que OR. Si utiliza ambos operadores, es buena idea emplear parntesis para indicar explcitamente la forma en que las condiciones deben agruparse: mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm') -> OR (species = 'dog' AND sex = 'f'); +-------+--------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +-------+--------+---------+------+------------+-------+ | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | +-------+--------+---------+------+------------+-------+ DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . 4.4 /o)8ula)ios Elect)nicos Estamos ya bastante familiarizados con diversos tipos de formularios en papel: albaranes de pedido, propuestas de gastos, formularios para envo de fax, etc. aunque puede haber grandes diferencias de unos a otros, lo cierto es que todos ellos tienen unos cuantos aspectos en comn: Todos los formularios contienen un texto estndar y espacios en blanco o campos en donde se ha de introducir la informacin. El texto y los campos estn organizados en forma de cuadrcula, con espacios en blanco para la entrada de datos. Los formularios en papel son conocidos habitualmente por su dificultad para rellenarlos, y en el caso de formularios rellenos a mano, su dificultad para descifrarlos posteriormente. Los formularios electrnicos vienen a minimizar muchas de las desventajas de los que se presentan en papel. Es posible disear un formulario electrnico de manera que contenga informacin de ayuda para la persona que tenga que rellenarlo. Estos formularios electrnicos pueden contener campos de texto de una longitud prefijada, o bien de longitud variable. Los campos de lista desplegable ofrecen una serie de opciones de entre las cuales el usuario debe elegir una. Para las respuestas del tipo "si" o "no", puede crearse campos con casillas de verificacin de forma que el usuario se puede limitar a hacer clic con el ratn para que aparezca una "X" en la casilla adecuada. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Tambin es posible especificar una serie de respuestas "por omisin" en campos especficos, con vistas a facilitar an ms la labor de complementacin del formulario. Puesto que el formulario se rellena desde la propia computadora, se evitan todos los posibles problemas de interpretacin de los datos introducidos, como sucede con los formularios en papel rellenos a mano. Adems, si la computadora est conectada a una red, los formularios electrnicos pueden ser cumplimentados y compartidos de la misma forma que se comparte cualquier otro tipo de documento, eliminando as por completo la necesidad de los formularios en papel. Windows viene con muchos programas accesorios tiles, incluyendo un procesador de texto elemental (WordPad), un programa de grficos (Paint) y un programa de comunicacin (HyperTerminal). Tambin proporciona varias herramientas tiles, como Calculadora (Calculator) y Block de notas (Notepad). Para otras funciones (de acuerdo a las necesidades), se utiliza el Microsoft Office, en el cual es posible disear formularios electrnicos que garantizan una rpida y correcta recogida de informacin; en cualquiera de sus aplicaciones: Word, Excel, Power Point y, la ms adecuada y/o diseada para este fin especfico, Access 4.6 %)eacin de un in9o)8e )+pido Los informes de base de datos estn definidos por bandas de informe. Estas bandas de informes se definen cinco tipos diferentes de lneas de informe por ejemplo la cabecera que aparecen en la parte superior de cada pgina, lneas de detalle y resmenes de informe. Cuando se utiliza la organizacin de informe rpido no es necesario aprender sobre los diferentes tipos de bandas; todo lo que se necesita es decir a Dbase que cree el formato del informe. Dbase coloca las entradas en las bandas del informe cuando crea un informe rpido. Crea una banda cabecera de pgina que contiene la fecha, nmero de pginas y nombre de campo. Una banda de detalle contiene las entradas de la base de datos. La banda de resumen de informe contiene los totales de todos los campos numricos y flotantes. Se puede comprobar al aspecto de un formato de informe visualizndolo en pantalla. Dbase visualizar las entradas de los registros en lugar de los patrones. Se puede ir hacia delante para ver las pginas posteriores del informe, pero no se puede revisualizar pantallas de informaciones previas. Para crear un informe rpido: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . o Desplazar el subrayado en el panel de datos al archivo del que se requiere un informe rpido. o Pulsar la tecla de informe rpido (DESPL F9) o Teclear V para visualizar el informe en pantalla o Pulsar la BARRA DE ESPACO para ver cada pantalla del informe y volver al Centro de Control. Se puede crear un informe rpido desde cualquier panel de Centro de Control (excepto desde el panel de aplicaciones, si hay un archivo de datos activo. Se pulsa la tecla de nforme Rpido (DESPL F9) para activarlo. Tambin se puede crearse el modo a travs del panel de datos del centro de control. El informe que se crea, utiliza la base de datos actual a menos que se seleccione otra base de datos en el panel datos del centro de control y se pulsa la tecla de informe rpido (DESPL. F9) Para imprimir un informe Para imprimir un informe con la impresora implcita: o Convertir en actual la base de datos de la que se requiere crear un informe. o Pulsar la tecla de informe rpido(DESPL.-F9) o Teclear B para la opcin comenzar a imprimir. Para imprimir un informe con otra opcin de impresora: o Convertir en actual la base de datos de la que se quiere crear un informe. o Pulsar la tecla de informe rpido (DESPL.-F9) o Teclear D para la opcin destinatario o Teclear P para la opcin Printer Model hasta que la dbase visualice una breve descripcin de la impresora. o Teclear B para la opcin Bejn Printing. %)eacin : al8acena8iento de un in9o)8e pe)sonali,ado. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Los informes personalizados ofrecen lo ltimo en posibilidades de personalizacin. Sin embargo, toda esta flexibilidad requiere un compromiso puesto que lleva ms tiempo crear un informe personalizado que crear un informe rpido. Se puede combinar las ventajas de ambos planteamientos cuando slo se necesitan realizar pequeos cambios a un informe rpido utilizando las opciones del men de disposicin rpida. Estas opciones permiten seleccionar un formato para crear rpidamente un diseo de informe que se pueda modificar posteriormente. Se pueden aadir y eliminar campos desde el diseo de informe. Se puede salvar la disposicin del informe modificado y proseguir su ampliacin con el tiempo. La inversin que se realiza personalizando un informe dar beneficios a lo largo de la vida de la aplicacin de la base. Para crear una disposicin rpida para un informe personalizado: o Active la base de datos que vaya a utilizar para el informe. o Pulse flecha derecha tres veces para moverse al panel de informe (report panel) o Pulse intro o la tecla de diseo (DESPL.- F2) para introducirse a la pantalla de diseo de informes. o Subraye Quick Layouts (Disposicin rpida) pulse intro o teclee Q para seleccionar la disposicin rpida del men de despliegue layout (composicin) o Mueva el subrayado a la opcin de composicin que se quiera y pulse NTRO o teclee la primera letra de la opcin de composicin. 4.7 %uestiones de se'u)idad 'ene)al Esta seccin describe algunos temas generales de seguridad que hay que tener en cuenta, y qu se puede hacer para aumentar la seguridad de la instalacin MySQL contra ataques o errores de uso. Para encontrar informacin especfica sobre el sistema de control de accesos que MySQL utiliza para crear cuentas de usuarios y comprobar el acceso a las bases de datos. Gua de seguridad general DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Cualquiera que utilice MySQL en un ordenador conectado a nternet debera leer esta seccin para evitar los errores de seguridad ms comunes. Al tratar el tema de la seguridad, hacemos hincapi en la necesidad de proteger totalmente la mquina completa (no nicamente el servidor MySQL) contra todos los tipos de ataques posibles; intercepcin pasiva de paquetes, alteracin, reproduccin de comandos (playback), y denegacin de servicio. Aqu no tratamos todos los aspectos de disponibilidad y tolerancia a fallos. Para todas las conexiones, consultas, y otras operaciones que los usuarios pueden intentar realizar, MySQL utiliza seguridad basada en Listas de Control de Acceso (ACLs). Tambin hay algn soporte para conexiones cifradas mediante SSL entre clientes y servidores MySQL. Muchos de los conceptos que aqu se exponen no son especficos de MySQL; las mismas ideas generales se pueden aplicar a cualquier aplicacin. Al ejecutar MySQL, siga siempre que sean posibles estas recomendaciones: No de nunca a nadie (excepto a la cuenta root de MySQL acceso a la tabla user en la base de datos mysql! Esto es crtico. La clave cifrada es la verdadera clave en MySQL. Cualquiera que sepa cual es la clave que hay en la tabla user y tenga acceso a la mquina host de la cuenta registrada puede acceder fcilmente como ese usuario. Estudie el sistema de privilegios de acceso de MySQL. Las sentencias GRANT y REVOKE se utilizan para controlar el acceso a MySQL. No otorgue ms privilegios de los necesarios. Nunca otorgue privilegios a un mismo usuario sin tener en cuenta el equipo desde el que se conecta. Lista de comprobaciones: Pruebe el comando mysql -u root. Si es capaz de conectar al servidor sin la necesidad de introducir una clave, tiene problemas. Cualquiera puede conectar a su servidor MySQL como el usuario root de MySQL con privilegios totales! Revise las instrucciones de instalacin de MySQL, prestando atencin en concreto a la informacin sobre establecer una clave para el usuario root. Utilice la sentencia SHOW GRANTS y compruebe quin tiene acceso a qu. Despus utilice la sentencia REVOKE para denegar los privilegios que no son necesarios. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . No almacene ninguna clave sin cifrar en su base de datos. Si alguien tuviera acceso a su ordenador, el intruso podra obtener la lista completa de claves y utilizarlas. En vez de eso, utilice MD5(), SHA1(), o cualquier otra funcin de hashing de un sentido. No elija claves que puedan aparecer en un diccionario. Existen programas especiales para romperlas. ncluso claves como ``xperro98'' son muy malas. Es mucho mejor ``oweei98'', que contiene la misma palabra ``perro'' pero escrita desplazndose una tecla a la izquierda en un teclado QWERTY convencional. Otro mtodo es usar ``Mtupc'', que ha sido tomada de las primeras letras de cada palabra de la frase ``Mara tuvo un pequeo corderito.'' As es fcil de recordar y escribir, pero difcil de adivinar para cualquiera que no la conozca. nvierta en un firewall. Le proteger de al menos el 50% de todos los tipos de vulnerabilidades de cualquier software. Ponga MySQL tras el firewall o en una zona desmilitarizada (DMZ). Lista de comprobaciones: ntente escanear sus puertos desde nternet utilizando una herramienta como nmap. MySQL utiliza el puerto 3306 por defecto. Este puerto no debera ser accesible desde lugares no confiables. Otra manera simple de probar si el puente MySQL est abierto o no es intentar el siguiente comando desde alguna mquina remota, donde server_host es la mquina en la que su servidor MySQL se est ejecutando: shell> telnet server_host 3306 Si consigue conectar y algunos caracteres extraos, el puerto est abierto, y debera cerrarlo en su firewall o router, a menos que tenga una buena razn para mantenerlo abierto. Si el comando telnet no consigue conectar o la conexin es rechazada, entonces el puerto se encuentra bloqueado, que es como queremos que est. No confe en ningn dato enviado por los usuarios de sus aplicaciones. Pueden intentar engaar a su cdigo introduciendo secuencias de caracteres especiales en formularios webs, URLs, o cualquier aplicacin que haya desarrollado. Asegrese de que su aplicacin permanece segura si un usuario introduce algo como ``; DROP DATABASE mysql;''. Este es un ejemplo algo extremo, pero los mayores agujeros de seguridad y prdidas de datos pueden ocurrir como resultado de hackers utilizando tcnicas similares, si no se est preparado para ellas. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Un error comn es proteger nicamente valores de tipo cadena de caracteres. Recuerde comprobar los datos numricos tambin. Si una aplicacin genera una consulta como SELECT * FROM table WHERE D=234 cuando un usuario introduce el valor 234, el usuario podra introducir el valor 234 OR 1=1 para provocar que la aplicacin genere la consulta SELECT * FROM table WHERE D=234 OR 1=1. Como resultado, el servidor extraer todos los registros en la tabla. Esto, adems de exponer cada registro, causa una carga excesiva en el servidor. La manera ms simple de protegerse frente a este tipo de ataque es utilizar comillas simples alrededor de las constantes numricas: SELECT * FROM table WHERE D='234'. Si el usuario entrase informacin extra, todo sera parte de la cadena de caracteres. En un contexto numrico, MySQL automticamente convierte esta cadena en un nmero, y elimina cualquier carcter no numrico del final que la cadena pueda contener. Ad8inist)acin de <ases de datos A veces la gente piensa que si una base de datos contiene slo datos de dominio pblico, no tiene por qu ser protegida. Esto es incorrecto. Aunque sea admitible mostrar cualquier registro de la base de datos, siempre se debera proteger contra ataques de tipo denegacin de servicio (por ejemplo, aquellos que se basan en la tcnica del prrafo precedente, que causan que el servidor malgaste recursos). Si no, el servidor podra quedar inservible para sus usuarios legtimos. Lista de comprobaciones: ntente introducir comillas simples y dobles (''' y '"') en todos sus formularios web. Si obtiene cualquier clase de error MySQL, investigue el problema sin demora. ntente modificar las URLs dinmicas aadiendo las cadenas %22 ('"'), %23 ('#'), y %27 ('''). ntente modificar los tipos de datos en las URLs dinmicas de tipos numricos a alfanumricos, usando los caracteres mostrados en los ejemplos previos. Su aplicacin debera ser segura contra estos y otros ataques similares. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . ntente introducir letras, espacios, y smbolos especiales en vez de nmeros en los campos numricos. Su aplicacin debera eliminarlos antes de pasarlos a MySQL, o en todo caso generar un error. Pasar valores sin comprobar a MySQL es muy peligroso! Compruebe el tamao de los datos antes de pasrselos a MySQL. Haga que su aplicacin se conecte a la base de datos utilizando un nombre de usuario diferente del que utiliza para tareas administrativas. No d a sus aplicaciones ningn acceso que no necesiten. Muchas interfaces de programacin de aplicaciones proveen alguna manera de preceder con caracteres de escape los caracteres especiales en sus datos. Usados adecuadamente, esto previene que los usuarios de las aplicaciones introduzcan valores que provoquen que la aplicacin genere sentencias con efectos diferentes a los que usted pretenda: AP MySQL de C: Utilice la funcin mysql_real_escape_string(). MySQL++: Utilice los modificadores escape y quote para streams PHP: Utilice la funcin mysql_escape_string(), que est basada en la funcin del mismo nombre de la AP MySQL de C. (Con versiones anteriores a PHP 4.0.3, utilice addslashes() en cambio.) En PHP 5, puede utilizar la extensin mysqli, que soporta los protocolos de autentificacin y clave de acceso mejorados de MySQL, as como las sentencias preparadas con placeholders. DB de Perl: Utilice el mtodo quote() o utilice placeholders. JDBC de Java: Utilice un objeto PreparedStatement y placeholders. Otras interfaces de programacin deberan tener capacidades similares. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . No transmita datos sin cifrar por nternet. Esta informacin es accesible para cualquiera que tenga el tiempo y la habilidad para interceptarla y utilizarla para sus propios propsitos. En vez de eso, utilice un protocolo de cifrado como SSL o SSH. MySQL soporta conexiones SSL internas desde la versin 4.0.0. El redireccionamiento de puertos de SSH se puede utilizar para crear un tunel cifrado (y comprimido) para la comunicacin. Aprenda a utilizar las herramientas tcpdump y strings. En la mayora de los casos, usted puede comprobar si los flujos de datos de MySQL estn cifrados ejecutando un comando como el siguiente: shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings (Esto funciona en Linux, y debera funcionar, con pequeas modificaciones en otros sistemas.) Atencin: Si no ve los datos en formato de texto, esto no siempre quiere decir que la informacin est realmente cifrada. Si necesita un alto nivel de seguridad, debera consultar a un experto en la materia. *ace) @ue M:S?$ sea se'u)o cont)a ata@ues Cuando se conecta a un servidor MySQL, debera utilizar una clave. La clave no se transmite en texto llano a travs de la conexin. El tratamiento de las claves durante la conexin de un cliente ha sido mejorado en MySQL 4.1.1 para ser muy seguro. Si todava est utilizando claves del tipo anterior a 4.1.1, el algoritmo de cifrado no es tan potente como el nuevo algoritmo; con un poco de esfuerzo un atacante inteligente que pueda interceptar el trfico entre el cliente y el servidor podra romper la clave. Si la conexin entre el cliente y el servidor pasa a travs de una red no segura, debera utilizar un tunel SSH para cifrar la comunicacin. Toda la dems informacin se transmite como texto, y puede ser leda por cualquiera que pueda observar la conexin. Si esto le preocupa, utilice el protocolo comprimido para hacer que el trfico sea mucho ms difcil de descifrar. Para hacer la conexin an ms segura, debera utilizar SSH para conseguir una conexin TCP/P cifrada entre el servidor MySQL y el cliente MySQL. Puede encontrar un cliente SSH Open Source en http://www.openssh.org/, y un cliente comercial en http://www.ssh.com/. En MySQL 5.0, puede utilizar tambin el soporte interno de OpenSSL. Para convertir un sistema MySQL en seguro, debera considerar seriamente las siguientes sugerencias: DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Utilice claves para todos los usuarios MySQL. Un programa cliente no conoce necesariamente la identidad de la persona utilizndolo. Es comn en las aplicaciones cliente/servidor que el usuario pueda especificar cualquier nombre de usuario al programa cliente. Por ejemplo, cualquiera puede utilizar el programa mysql para conectarse como cualquier otra persona, simplemente invocndolo de la siguiente manera: mysql -u otro_usuario nombre_bd cuando otro_usuario no tiene clave. Si todos los usuarios tienen una clave, conectarse utilizando la cuenta de otro usuario se vuelve mucho ms difcil. Para cambiar la clave de un usuario, utilice la sentencia SET PASSWORD. Tambin es posible alterar la tabla user en la base de datos mysql directamente. Por ejemplo, para cambiar la clave de todas las cuentas MySQL que tienen por nombre de usuario root, haga lo siguiente: shell> mysql -u root mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') -> WHERE User='root'; mysql> FLUSH PRVLEGES; Nunca ejecute el servidor MySQL con el usuario root de Unix. Esto es extremadamente peligroso porque cualquier usuario con el privilegio FLE es capaz de crear ficheros como root (por ejemplo, ~root/.bashrc). Para prevenir esto, mysqld rechaza ejecutarse como root a menos que se utilice explcitamente la opcin --user=root. En vez de eso, mysqld puede (y debe) ser ejecutado mediante un usuario normal sin privilegios. Puede crear una cuenta de Unix especfica llamada mysql para hacerlo todo an ms seguro. Utilice esta cuenta tan solo para administrar MySQL. Para ejecutar mysqld mediante un usuario de Unix diferente, aada la opcin user que especifica el nombre de usuario al grupo [mysqld] del fichero de opciones /etc/my.cnf o al fichero de opciones my.cnf en el directorio de datos del servidor. Por ejemplo: [mysqld] user=mysql Esto provoca que el servidor se inicie mediante el usuario designado, lo ejecute usted manualmente o mediante mysqld_safe o mysql.server. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Ejecutar mysqld como un usuario Unix diferente de root no significa que necesite cambiar el usuario root de la tabla user. Los usuarios de las cuentas MySQL no tienen nada que ver con los usuarios de las cuentas Unix. No permita el uso de enlaces simblicos a tablas. (Esto puede desactivarse con la opcin --skip-symbolic-links.) Esto es especialmente importante si ejecuta mysqld como root, porque cualquiera que tenga acceso de escritura al directorio de datos del servidor podra entonces borrar cualquier fichero en el sistema!. Asegrese de que el nico usuario Unix con permisos de lectura o escritura en los directorios de la base de datos es el usuario que ejecuta mysqld. No otorgue los privilegios PROCESS o SUPER a usuarios no-administrativos. La salida del de mysqladmin processlist muestra el texto de cualquier sentencia que se est ejecutando, as que cualquier usuario al que se permita ejecutar ese comando puede ser capaz de ver si otro usuario ejecuta una sentencia UPDATE user SET password=PASSWORD('not_secure'). mysqld reserva una conexin extra para usuarios que tengan el privilegio SUPER, as que un usuario root puede conectarse y comprobar la actividad del servidor an cuando todas las conexiones normales estn en uso. El privilegio SUPER puede utilizarse para cerrar conexiones de cliente, cambiar el funcionamiento del servidor modificando el valor de variables del sistema, y controlar servidores de replicacin. No otorgue el privilegio FLE a usuarios no-administrativos. Cualquier usuario que posea este privilegio puede escribir un archivo en cualquier de lugar del sistema de ficheros con los privilegios del demonio mysqld. Para hacer esto un poco ms seguro, los archivos generados con SELECT ... NTO OUTFLE no sobrescriben archivos existentes, y pueden ser escritos por cualquiera. El privilegio FLE puede tambin ser utilizado para leer cualquier archivos que sea legible por cualquiera o accesible para el usuario Unix que ejecuta el servidor. Con este privilegio, podra por ejemplo leer cualquier fichero e insertarlo en una tabla de la base de datos. Esto podra utilizarse, por ejemplo, utilizando LOAD DATA para cargar /etc/passwd en una tabla, que podra ser mostrada despus con un SELECT. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Si no confa en sus DNS, podra utilizar nmeros P en vez de nombres en las tablas de permisos (tablas grant). En cualquier caso, debera ser muy cuidadoso en crear registros en las tablas de permiso utilizando nombres que contengan caracteres comodines. Si quiere restringir el nmero de conexiones permitidas para una misma cuenta, puede hacerlo estableciendo la variable max_user_connections de mysqld. La sentencia GRANT tambin soporta opciones de control de recursos para limitar la extensin de uso de servidor permitido a una cuenta. Consulte Seccin 13.5.1.3, "Sintaxis de GRANT y REVOKE. Opciones de a))an@ue pa)a 8:s@ld )elacionadas con la se'u)idad Las siguientes opciones de mysqld afectan a la seguridad: --allow-suspicious-udfs Esta opcin controla si las funciones definidas por el usuario que slo tienen un smbolo xxx para la funcin principal se pueden cargar. Por defecto, la opcin est desactivada y slo UDFs que tengan al menos un smbolo auxiliar pueden cargarse. Esto previene intentos de cargar funciones desde ficheros objetos compartidos que no contengan UDFs legtimos. Para MySQL 5.0, esta opcin se aadi en MySQL 5.0.3. --local-infile[={0|1}] Si arranca el servidor con --local-infile=0, los clientes no pueden usar LOCAL en comandos LOAD DATA . --old-passwords Fuerza al servidor a generar hashes de contraseas cortos (pre-4.1) para las nuevas contraseas. Esto es til para compatibilidad cuando el servidor debe soportar antiguos programas cliente. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . (OBSOLETO) --safe-show-database En versiones previas de MySQL, esta opcin provoca que el comando SHOW DATABASES muestre los nombers de slo aquellas bases de datos para las que el usuario tiene algn tipo de privilegio. En MySQL 5.0, esta opcin no est disponible ya que es el comportamiento por defecto, y hay un privilegio SHOW DATABASES que puede usarse para controlar el acceso a los nombres de las bases de datos para cada cuenta. Consulte Seccin 13.5.1.3, "Sintaxis de GRANT y REVOKE. --safe-user-create Si est activada, un usuario no puede crear nuevos usuarios con el comando GRANT a no ser que el usuario tenga el privilegio NSERT para la tabla mysql.user . Si desea que un usuario tenga la habilidad de crear nuevos usuarios con los privilegios que el usuario tiene derecho a otorgar, debe otorgar al usuario el siguiente privilegio: mysql> GRANT NSERT(user) ON mysql.user TO 'nombre_usuario'@'nombre_host'; Esto asegura que el usuario no pueda cambiar ninguna columna de privilegios directamente, pero debe usar el comando GRANT para dar privilegios a otros usuarios. --secure-auth Desactiva autenticacin para cuentas que usen antiguas contraseas (pre-4.1) --skip-grant-tables Esta opcin hace que el servidor no use el sistema de privilegios en absoluto. Esto da a todo el mundo acceso total a todas las bases de datos! (Puede decirle a un servidor en ejecucin que arranque usando las tablas de permisos de nuevo usando mysqladmin flush-privileges o el comando mysqladmin reload, o mediante el comando FLUSH PRVLEGES.) --skip-name-resolve Los nombres de equipo no se resuelven. Todo valor en la columna Host en la tabla de permisos deben ser nmeros P o localhost. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . --skip-networking No permite conexiones TCP/P a travs de la red. Todas las conexiones a mysqld se realizan mediante ficheros socket de Unix. --skip-show-database Con esta opcin, el comando SHOW DATABASES se permite slo a usuarios que tengan el privilegio SHOW DATABASES , y el comando muestra todos los nombres de bases de datos. Sin esta opcin , SHOW DATABASES est permitido a todos los usuarios, pero muestra cada nombre de base de datos slo si el usuario tiene el privilegio SHOW DATABASES o algn privilegio para la base de datos. Cuestiones relacionadas con la seguridad y LOAD DATA LOCAL El comando LOAD DATA puede cargar un fichero que est localizado en el equipo servidor, o puede cargar un fichero localizado en el equipo cliente cuando se especifica la palabra clave LOCAL. Hay dos aspectos de seguridad potenciales al soportar la versin LOCAL de los comandos LOAD DATA: La transferencia del fichero desde el equipo cliente al equipo servidor se inicia mediante el servidor MySQL. En teora, puede construirse un servidor modificado de forma que le diga al programa cliente que transfiera un fichero elegido por el servidor en lugar del fichero especificado por el cliente en el comando LOAD DATA . Tal servidor podra acceder a cualquier fichero en el equipo cliente al que el usuario cliente tuviese acceso de lectura. En un entorno Web en el que los clientes se conecten mediante un servidor Web, un usuario podra usar LOAD DATA LOCAL para leer cualquier fichero al que el servidor Web tuviese acceso de lectura (asumiendo que el usuario pudiese ejecutar cualquier comando contra el servidor SQL). En este entorno, el cliente respecto al servidor MySQL es el servidor Web, no el programa ejecutado por el usuario para conectar al servidor Web. DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . Para tratar estos problemas, hemos cambiado el funcionamiento de LOAD DATA LOCAL en MySQL 3.23.49 y MySQL 4.0.2 (4.0.13 en Windows): Por defecto, todos los clientes MySQL y bibliotecas en distribuciones binarias se compilan con la opcin - -enable-local-infile para ser compatible con la versin MySQL 3.23.48 y anteriores. Si compila MySQL de los ficheros fuentes pero no usa la opcin --enable-local-infile para configure, LOAD DATA LOCAL no puede usarse por ningn cliente a no ser que se escriba explcitamente para invocar mysql_options(... MYSQL_OPT_LOCAL_NFLE, 0). Puede desactivar todos los comandos LOAD DATA LOCAL desde el lado del servidor arrancando mysqld con la opcin - -local-infile=0. Para el cliente de lnea de comando mysql, LOAD DATA LOCAL puede activarse especificando la opcin - -local-infile[=1] , o deshabilitarse con la opcin --local-infile=0 . De forma similar, para mysqlimport, las opciones --local o -L permite la carga de datos locales. En cualquier caso, el uso exitoso de una operacin de carga local requiere que el servidor lo permita. Si usa LOAD DATA LOCAL en scripts de Perl scripts u otros programas que lean del grupo [client] en los ficheros de opciones, puede aadir la opcin local-infile=1 a ese grupo. De todos modos, para evitar que esto cause problemas en programas que no entiendan local-infile, especifquelo usando el prefijo loose- : [client] loose-local-infile=1 Si LOAD DATA LOCAL NFLE est desactivado, tanto en el servidor o el cliente, un cliente que trate de ejecutar dicho comando recibe el siguiente mensaje de error: ERROR 1148: The used command is not allowed with this MySQL version DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . DRECCON GENERAL DE EDUCACON TECNOLOGCA NDUSTRAL COORDNACON DE ENLACE OPERATVO DE AGUASCALENTES CENTRO DE BACHILLERATO TECNICO EN COMPUTACION
ASGNATURA: BASE DE DATOS .PERODO: AGOSTO 07 ENERO 08 SEMESTRE: 5 CCLO ESCOLAR: 2007 2008. PROFESOR(A): L.. ALEJANDRO SRAEL MERCADO LOPEZ ESPECALDAD: PROGRAMADOR . GRUPO: A . BBLOGRAFA Libro MySQL 5.0 Reference Manual www.Monografas.com/trabajos7/bada/bada.shtml http://www.monografias.com/trabajos12/guiainf/guiainf.shtml