Unidad 2 Pacheco

download Unidad 2 Pacheco

of 38

Transcript of Unidad 2 Pacheco

  • 7/21/2019 Unidad 2 Pacheco

    1/38

    2.1_ Lossistemas de administracin de bases de datos son usados para: Permitir a los usuarios acceder y manipular la base de datos proveyendo mtodos

    para construir sistemas de procesamiento de datos para aplicaciones que requieranacceso a los datos. Proveer a los administradores las herramientas que les permitan ejecutar tareas de

    mantenimiento y administracin de los datos.Algunas de sus caractersticas son:Control de la redundancia de datosEste consiste en lograr una mnima cantidad de espacio de almacenamiento paraalmacenar los datos evitando la duplicacin de la informacin. De esta manera selogran ahorros en el tiempo de procesamiento de la informacin, se tendrn menosinconsistencias, menores costos operativos y har el mantenimiento ms fcil.

    Compartimiento de datosUna de las principales caractersticas de las bases de datos, es que los datos puedenser compartidos entre muchos usuarios simultneamente, proveyendo, de estamanera, mxima eficiencia.

    Mantenimiento de la integridadLa integridad de los datos es la que garantiza la precisin o exactitud de la informacincontenida en una base de datos. Los datos interrelacionados deben siemprerepresentar informacin correcta a los usuarios.

    Soporte para control de transacciones y recuperacin de fallas.

    Se conoce como transaccin toda operacin que se haga sobre la base de datos. Lastransacciones deben por lo tanto ser controladas de manera que no alteren laintegridad de la base de datos. La recuperacin de fallas tiene que ver con la capacidadde un sistema DBMS de recuperar la informacin que se haya perdido durante una fallaen el software o en el hardware.

    Independencia de los datos.En las aplicaciones basadas en archivos, el programa de aplicacin debe conocer tantola organizacin de los datos como las tcnicas que el permiten acceder a los datos. Enlos sistemas DBMS los programas de aplicacin no necesitan conocer la organizacinde los datos en el disco duro. Este totalmente independiente de ello.

    SeguridadLa disponibilidad de los datos puede ser restringida a ciertos usuarios. Segn losprivilegios que posea cada usuario de la base de datos, podr acceder a mayorinformacin que otros.

    VelocidadLos sistemas DBMS modernos poseen altas velocidades de respuesta y proceso.

  • 7/21/2019 Unidad 2 Pacheco

    2/38

    Independencia del hardwareLa mayora de los sistemas DBMS estn disponibles para ser instalados en mltiplesplataformas de hardware.

    Los sistemas de bases de datos relacionales RDBMS (Relational Database ManagementSystem, por sus siglas en Ingls) tales como Oracle, MySQL, SQL Server, PostgreSQL,Informix, entre otros, le permiten ejecutar las tareas que se mencionan a continuacin,de una forma entendible y razonablemente sencilla:

    Le permiten ingresar datos al sistema. Le permiten almacenar los datos. Le permiten recuperar los datos y trabajar con ellos. Le proveen herramientas para capturar, editar y manipular datos. Le permiten aplicar seguridad. Le permiten crear reportes e informes con los datos.

    2.1.1_ La memoria se puede estructurar en las siguientes partes:

    rea Global del sistema (SGA), la cual se comparte entre todos los servidores y losprocesos en segundo plano.

    reas globales de programas (PGA), que es privada para cada servidor y proceso ensegundo planos; a cada proceso se asigna un PGA.

    rea de Ordenaciones (Sort Areas).Memoria Virtual

    j Area de codigo de software.

  • 7/21/2019 Unidad 2 Pacheco

    3/38

    Instancia de una Base de DatosCada instancia est asociada a una base de datos. Cuando se inicia una base de datosen un servidor (independientemente del tipo de computadora), se le asigna un rea dememoria (SGA) y lanza uno o ms procesos. A la combinacin del SGA y de losprocesos es lo que se llama instancia. La memoria y los procesos de una instanciagestionan los datos de la base de datos asociada de forma eficiente y sirven a uno ovarios usuarios.

    Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia dichainstancia a su base de datos correspondiente. En un misma computadora puedenejecutarse varias instancias simultneamente, accediendo cada una a su propia basede datos fsica.

    nicamente el administrador de la base de datos puede iniciar una instancia y abriruna base de datos. Si una base de datos est abierta, entonces el administrador puedecerrarla y, cuando esto ocurre, los usuarios no pueden acceder a la informacin quecontiene.

  • 7/21/2019 Unidad 2 Pacheco

    4/38

    2.1.2_ En una base de datos almacenamos informacin relevante para nuestro negociou organizacin y desde el punto de vista fsico, la base de datos est conformada pordos tipos de archivos:

    Archivos de datos: contiene los datos de la base de datos internamente,est compuesto por pginas enumeradas secuencialmente que representa launidad mnima de almacenamiento. Cada pgina tiene un tamao de 8kb deinformacin. Existen diferentes tipos de pginas, a tener en cuenta:

    Pginas de datos: es el tipo principal de pginas y son las que almacenanlos registros de datos.

    Pginas de espacio libre (PFS Page Free Space): almacenan informacinsobre la ubicacin y el tamao del espacio libre.

    Paginas GAM and SGAM: utilizadas para ubicar extensiones.

  • 7/21/2019 Unidad 2 Pacheco

    5/38

    Pginas de Mapa de Ubicaciones de ndices (IAM Index Allocation Map):contiene informacin sobre el almacenamiento de pginas de una tabla ondice en particular.

    Pginas ndices: Utilizada para almacenar registros de ndices.

    Archivo de Registro de Transacciones: El propsito principal del registrode transacciones es la recuperacin de datos a un momento en el tiempo ocomplementar una restauracin de copia de respaldo completa (full backup). Elregistro de transacciones no contiene pginas, sino entradas con todos loscambios realizados en la base de datos, como son las modificaciones de datos,modificaciones de la base de datos y eventos de copia de seguridad yrestauracin. El acceso a datos es secuencial, ya que el registro detransacciones se actualiza en el mismo orden cronolgico en el que se hacen lasmodificaciones.

    Este archivo no puede ser ledo por herramientas de usuario de SQL auqnue existen

    herramientas de terceros que leen este archivo para recuperar los cambios efectuados.

    Dependiendo de la versin el registro de transacciones se utiliza para otros propsitos

    como por ejemplo bases de datos espejo (mirror) y transporte remoto de transacciones

    (log shipping).

    Para muchos de los administradores de bases de datos, la imagen anterior representala parte lgica y la parte fsica, donde:Data File:Los datafiles son los archivos fsicos en los que se almacenan los objetos que formanparte de un tablespace. Un datafile pertenece solamente a un tablespace y a una

    instancia de base de datos. Un tablespace puede estar formado por uno o variosdatafiles. Cuando se crea un datafile, se debe indicar su nombre, su ubicacin odirectorio, el tamao que va a tener y el tablespace al que va a pertenecer. Adems, alcrearlos, ocupan ya ese espacio aunque se encuentran totalmente vacos, es decir,Oracle reserva el espacio para poder ir llenndolo poco a poco con posterioridad. Porsupuesto, si no hay sitio suficiente para crear un archivo fsico del tamao indicado, seproducir un error y no se crear dicho archivo.Cuando se van creando objetos en un tablespace, stos fsicamente se vanalmacenando en los datafiles asignados a dicho tablespace, es decir, cuando creamosuna tabla y vamos insertando datos en ella, estos datos realmente se reparten por losarchivos fsicos o datafiles que forman parte del tablespace. No se puede controlar enqu archivo fsico se almacenan los datos de un tablespace. Si un tablespace estformado por 2 datafiles y tenemos una tabla en ese tablespace, a medida que vamosinsertando filas stas se almacenarn en cualquiera de los dos datafilesindistintamente, es decir, unas pueden estar en un datafile y otras en otro.El espacio total disponible en un tablespace es lgicamente la suma de los tamaosque ocupan los archivos fsicos o datafiles que lo forman. Como hemos indicado estosdatafiles, al crearlos, estn totalmente vacos, simplemente es un espacio reservado yformateado por Oracle para su uso. A medida que se van creando objetos en ellos

  • 7/21/2019 Unidad 2 Pacheco

    6/38

    como tablas, ndices, etc. y se van insertando registros en estas tablas, los datafiles sevan llenando o, lo que es lo mismo, el tablespace se va llenando.Tienen las siguientes caractersticas:

    Un archivo slo puede estar asociado con una base de datos. Los archivos de datos tienen atributos que permiten reservar

    automticamente para ellos extensiones cuando se acaba el espacio. Uno o ms archivos de datos forman una unidad lgica de almacenamiento

    llamada tablespace

    Os Block:Conocidos como Disk Block, estos mapean a los data blocks. A la hora de crear unanueva base de datos se debe indicar cuntos bloques de sistema operativo formarnun bloque de datos.

    2.1.3 _ Antes de instalar cualquier SGBD es necesario conocer los requerimientos dehardware y software, el posible software a desinstalar previamente, verificar el registrode Windows y el entorno del sistema, as como otras caractersticas de configuracinespecializadas como pueden ser la reconfiguracin de los servicios TCP/IP y lamodificacin de los tipos archivos HTML para los diversos navegadores.Se presenta a continuacin una serie de requerimientos mnimos de hardware ysoftware para instalar oracle 11g Express y MySQL estndar versin 5.1. en Windows

    Seven y Ubuntu 10.

    Requerimiento OracleMySQL

    RAM 512 MB 512 MB

    Memoria virtual 1024 MB 1024 MB

  • 7/21/2019 Unidad 2 Pacheco

    7/38

    Requerimiento OracleMySQL

    Espacio disco duro 1.5 GB 1 GB

    Tamao mximo de la base de datos 4 GB Sin limiteSistema Operativo: Windows Server, Windows Seven, Linux, Unix

    Arquitectura del Sistema 32/64-bit

    Protocolo de red TCP/IP

    Protocolo de red TCP/IP con SSL

    1La regla general para determinar el tamao de la memoria virtual depende del tamao dememoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio deintercambio debe ser de al menos dos veces este tamao. Si usted tiene ms de 8 GB dememoria RAM instalada puede considerar usar el mismo tamao como espacio de intercambio.Cuanta ms memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, amenos que tenga un proceso inadecuado.

    2.1.4_ Debido al constante crecimiento de datos que generan las empresas hoy en da,se ha vuelto muy necesaria la bsqueda de nuevas plataformas para almacenar y

    analizar la informacin, ambientes que consuman menos recursos, que sean msescalables y que provean una alta disponibilidad. La solucin consiste en elprocesamiento paralelo de los datos de una base de datos.

    Una base de datos en modo transaccional significa que la BD ser capaz de que lasoperaciones de insercin y actualizacin se hagan dentro de una transaccin, es uncomponente que procesa informacin descomponindola de forma unitaria enoperaciones indivisibles, llamadas transacciones, esto quiere decir que todas lasoperaciones se realizan o no, si sucede algn error en la operacin se omite todo elproceso de modificacin de la base de datos, si no sucede ningn error se hacen todala operacin con xito.

    Una transaccin es un conjunto de lneas de un programa quellevan inserto updateo delete. Todo aqul software que tiene un log de transacciones(que es la "bitcora" que permite hacer operaciones de commito rollback),propiamente es un software de BD; aqul que no lo tiene (v.g. D-Base), propiamenteno lo es. Todo software de base de datos es transaccional; si el software de la BD noes "transaccional", en realidad NO es un "software" de BD; en todo caso, es unsoftware que emula el funcionamiento de un verdadero software de BD. Cada

  • 7/21/2019 Unidad 2 Pacheco

    8/38

    transaccin debe finalizar de forma correcta o incorrecta como una unidad completa.No puede acabar en un estado intermedio.Se usan las siguientes mtodos :

    Begin TRans para iniciar la transaccin CommitTrans para efectuar los cambios con xito RollbackTrans para deshacer los cambios

    Y depende que base de datos uses para efectuar las operaciones pero, es la mismateora para cualquier BD.

    Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a unabase de datos.

    Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos deinformacin sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos eintroduce en ellas la informacin deseada. Entonces, podr responder una variedad depreguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasosseran:

    Crear una base de datos Crear una tabla Introducir datos en la tabla Recuperar datos desde la tabla de varias maneras Emplear mltiples tablas

    La base de datos menagerie(palabra inglesa que en espaol significa "coleccin de

    animales") se ha hecho deliberadamente simple, pero no es difcil imaginar situacionesdel mundo real donde podra usarse un tipo similar de base de datos. Por ejemplo,para un granjero que desee hacer el seguimiento de su hacienda, o para los registrosde los pacientes de un veterinario.Una vez instalado MySQL (disponible en el sitio web de MySQL en formato TAR:

    http://downloads.mysql.com/docs/menagerie.tar.gzY Zip:

    (http://downloads.mysql.com/docs/menagerie.zip)Se realiza lo siguiente: Mediante la sentencia SHOW se encuentran las bases de datos

    que existen actualmente en el servidor:mysql> SHOW DATABASES;

    +----------+| Database |+----------+| mysql || test |

    http://downloads.mysql.com/docs/menagerie.tar.gzhttp://downloads.mysql.com/docs/menagerie.tar.gzhttp://downloads.mysql.com/docs/menagerie.zip)http://downloads.mysql.com/docs/menagerie.zip)http://downloads.mysql.com/docs/menagerie.zip)http://downloads.mysql.com/docs/menagerie.zip)http://downloads.mysql.com/docs/menagerie.tar.gz
  • 7/21/2019 Unidad 2 Pacheco

    9/38

    | tmp |+----------+

    La lista obtenida puede ser distinta, pero es casi seguro que tendr las bases de datosmysql y test. La base de datos mysql es necesaria porque es la que describe losprivilegios de acceso de los usuarios. La base de datos test se provee para que losusuarios hagan pruebas.

    Tenga en cuenta que si no tiene el privilegio SHOW DATABASES, no podr ver todaslas bases de datos que hay en el servidor. Consulte Seccin 13.5.1.3, Sintaxis de

    GRANT y REVOKE. Si la base de datos test existe, intente acceder a ella:

    mysql> USE testDatabase changed

    Advierta que, al igual que QUIT, USE no necesita que ponga un punto y coma al final(aunque puede hacerlo si lo desea). La sentencia USE tiene otra particularidad: debeescribirse en una sola lnea.Puede colocar los ejemplos siguientes en la base de datos test, si tiene acceso a ella,pero si trabaja en un ambiente compartido, lo que deposite all puede ser fcilmenteborrado por alguien ms que tenga el acceso. Por este motivo, debera pedirle a suadministrador permiso para usar una base de datos propia. Suponga que quierellamarla menagerie. El administrador necesitar ejecutar un comando como este:

    mysql> GRANT ALL ON menagerie.* TO 'su_nombre_mysql'@'su_host_cliente';Donde su_nombre_mysql es el nombre de usuario que se le asign, y su_host_clientees el host u computadora desde donde se conectar.

    2.1.5_ 1.5. Variables de Ambiente y archivosimportantes para instalacin.

    Variable: Es un espacio en memoria al cual se le da un nombre Hay

    variables especficas que se crean al momento de entrar al sistema, pero

    tambin hay variables que pueden ser definidas por el usuario. Las

    variables son una forma de pasar informacin a los programas al

    momento de ejecutarlos.

    Variables de ambiente: Se usan para personalizar el entorno en el

    que se ejecutan los programas y para ejecutar en forma correcta los

    comandos del shell.

  • 7/21/2019 Unidad 2 Pacheco

    10/38

    Toman su valor inicial generalmente de un archivo .profile, pero hay

    veces en que el usuario tiene que modificar los valores de alguna

    variable de ambiente cuando est tratando de instalar o ejecutar un

    nuevo programa

    A continuacin se comentan las opciones ms utilizadas de la

    seccin mysqld (afectan al funcionamiento del servidor MySQL), se

    almacenan en el archivomy.cnf(o my.ini)

    basedir=ruta. Ruta a la raz MySQL

    console. Muestra los errores por consola independientemente de lo

    que se configure para log_error.

    datadir=ruta. Ruta al directorio de datos default-table-type=tipo. Tipo de la Tabla InnoDB o, MyISAM

    flush. Graba en disco todos los comandos SQL que se ejecuten

    (modo de trabajo, sin transaccin)

    general-log=valor. Con valor uno, permite que funcione el archivo

    LOG para almacenar las consultas realizadas.

    general-log-file=ruta. Indica la ruta al registro general de

    consultas. language. Especifica el idioma de los lenguajes de error,

    normalmente esots archivos de lenguaje, estn bajo /usr/local/share

    log-error=ruta. Permite indicar la ruta al registro de errores.

    log=ruta. Indica la ruta al registro de consultas.

    long-query-time=n. Segundos a partir de los cuales una consulta

    que tardes ms, se considerar una consulta lenta.

    og-bin=ruta. Permite indicar la ruta al registro binario. pid-file=ruta. Ruta al archivo que almacena el identificador de

    proceso de MySQL.

    port=puerto. Puerto de escucha de MySQL

  • 7/21/2019 Unidad 2 Pacheco

    11/38

    skip-grant-tables. Entra al servidor saltndose las tablas de

    permisos, es decir todo el mundo tiene privilegios absolutos

    skip-networking. El acceso a MySQL se har solo desde el

    servidor local.

    slow-query-log=0|1 . Indica si se hace LOG de las consultas

    lentas.

    slow-query-log-file=ruta . Ruta al archivo que hace LOG de las

    consultas lentas

    socket=ruta. Archivo o nombre de socket a usar en las conexiones

    locales.

    standalone. Para Windows, hace que el servidor no pase a ser un

    servicio.

    user=usuario. Indica el nombre de usuario con el que se iniciar

    sesin en MySQL.

    tmpdir=ruta. Ruta al directorio para archivos temporales

    Archivos LOG en MySQL

    Hay cuatro registros (logs):

    Registro de errores (Error Log). Indica cuando arranc y se

    detuvo el servidor. Se graba por defecto en la carpeta de datos de

    MySQL (archivohost_name.err, donde host_name es el nombre del

    servidor), pero la variable de sistema log_error permite indicar otra

    ruta si fuera necesario.

    Registro general de consultas (General Log File). Est

    en la carpeta de datos de MySQL, salvo que se indique la

    variable general- log-f i le. Contiene las consultas realizadas. Es el

    archivo host_name.log. Registro binario (Binary Log). Registra instrucciones DML.

    Los archivos binarios se almacenan por defecto en el directorio de

    datos. Sirve para intentar restaurar una base de datos en caso de

    desastre. Es binario, por lo que su manejo es complicado, para ver el

  • 7/21/2019 Unidad 2 Pacheco

    12/38

    contenido se usa la utilidad mysq lb in logde esta forma:mysq lb in log

    archivoLOG

    Registro de consultas lentas (Slow Query Log File).

    Registra las consultas que tardaron ms del tiempo mnimo

    establecido. El archivo est (salvo quese especifique slow- log-

    f i lecomo parmetro) en la carpeta de datos de MySQL con el

    nombre host_name-slow.log.

    2.1.6_ Oracle Database XE es una gran base de datos para:

    Desarrolladoresque trabajan en PHP, Java, .NET, XML, y Open Sourceapplications

    DBAsque necesitan desarollar librementeVendedores de Software y hardwareque necesitan distribuir sin cargos

    Instituciones educativas y estudiantesque cursan materias relacionados conbase de datos

    Oracle es lder en bases de datos. Con Oracle XE, es posible desarrollar y desplegar aplicacionespotentes, actualizar sin costo y generar complejas migraciones.

    Oracle Express Edition se instala en una mquina con cualquier nmero de procesadores, solopuede contener una base de datos y direccionar un mximo de 4GB de datos y un mximo de 1GB

    RAM.

    Oracle Database XE, usa una interface basada en browser (Navegador) para:Administrar la base de datos

    Crear tablas, vistas, y otros objetos de base de datos

    Importar, exportar, y ver tablas de datos

    Ejecutar consultas y scripts SQL

    Generar reportes

    Oracle Database XE incluye Oracle Application Express release 2.1, un ambiente de desarrollo

    grfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versinreducida de Oracle con las misma caractersticas y potencialidad de Oracle Database. Esnecesario destacar que no soporta todos los tipos de datos de Oracle Database XE.

    Oracle Database XE incluye las siguientes utilidades:

    Lnea de comandos SQL (SQL*Plus), para ejecutar sentencias SQL y comandosPL/SQL y ejecutar scripts

  • 7/21/2019 Unidad 2 Pacheco

    13/38

    SQL*Loader, para insertar datos en la base de datos

    Utilidades para importar, exportar y volcar la base de datos

    Download Oracle Database 11g Express Edition.Proceso que descargara elarchivoOracleXE112_Win32.zipdescomprimalo en el archivo de su preferencia.

    Requerimientos del sistema para Oracle Database XEServer y Oracle Database XE Client.

    Requerimiento Valor

    Arquitectura delsistema

    Intel x86 (desde Windows 2000 hasta seven) o Linux x86 (Debian,Mandriva, Novell, Red Hat y Ubuntu )

    Protocolo de red TCP/IP

    Espacio en discoServidor : 1.6 gigabytes mnimoCliente: 75 megabytes

    RAM 256 megabytes mnimo, 512 megabytes recomendado

    Estos puertos son usados por defecto por OracleDatabase XE

    1521: Oracle database listener2030: Oracle Services para Microsoft Transaction Server8080: Puerto para Oracle XML DB y la inteface grfica de usuario Oracle DatabaseXE.

    Instalacin de Oracle Database XE en WindowsDoble clic sobre el icono o el archivosetup.exeen ambos casos con privilegios deadministrador. Pulse sobre el botn desiguientepara iniciar la instalacin.

    Acepte los trminos de acuerdo de licencia

    http://www.oracle.com/technology/software/products/database/xe/index.htmlhttp://www.oracle.com/technology/software/products/database/xe/index.htmlhttp://www.oracle.com/technology/software/products/database/xe/index.html
  • 7/21/2019 Unidad 2 Pacheco

    14/38

    Verifique los requerimientos de espacio y si los cumple pulse aceptar. Considere un Giga ms para

    almacenamiento.

    Introduzca el password para el usuario SYSTEM. Despus determinar la instalacin deber iniciar la base de datos con esteusuario.

  • 7/21/2019 Unidad 2 Pacheco

    15/38

    A continuacin Oracle Database XE nos informa sobre lospuertos que utilizara. Pulse Instalar.

    El tiempo de instalacin de Oracle Database XE depende de suequipo (procesador y memoria). Al terminar el proceso deinstalacin pulse el botn Terminar.

  • 7/21/2019 Unidad 2 Pacheco

    16/38

    Al pulsar el botn Terminar nos direccionara a la pgina de acceso de la base de datos(http://127.0.0.1:8080/apex). Recuerde iniciar por primera vez con el usuario SYSTEM y supassword.

    Pulse el iconoSessionse introduzca la siguiente informacin

    Para futuros accesos usted puede pulsar botn de inicio, todos los programas, base de datos 10gExpress Edition o el icono en su escritorio denominado Base de Datos

    Ahora vamos a crear un usuario

    Conteste el siguiente formulario

  • 7/21/2019 Unidad 2 Pacheco

    17/38

    Instalacin de Oracle Database XE en Ubunto 10

    Lo primero que tenemos que hacer es descargar el paquete .deb correspondiente. Paraello accedemos a lapagina oficial de oracle.Note que para poder descargar hay que registrasegratuitamente

    http://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.htmlhttp://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.htmlhttp://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.html
  • 7/21/2019 Unidad 2 Pacheco

    18/38

    Seleccionado el paquete oracle-xe-universal_10.2.0.1-1.0_i386.deb es necesario abrir con elinstalador de paquetesGDebi.

    Terminada la descarga instale el paquete

  • 7/21/2019 Unidad 2 Pacheco

    19/38

    Una vez que termina de instalarse el paquete. Tenemos que configurar la base de datos. Para ello

    ejecutamos el comando:

    sudo /etc/init.d/oracle-xe configure

    Con eso arranca un script de configuracin en modo texto que nos hara una serie de preguntas:

    Puerto de la aplicacion web que nos permite administrar graficamente la base dedatos,

    Puerto de la base de datos,

    Password el usuario SYSTEM de Oracle,

    Si queremos arrancar la base de datos cada vez que iniciemos la mquina.

    Oracle Database 10g Express Edition Configuration-------------------------------------------------

    This will configure on-boot properties of Oracle Database 10g Express

    Edition. The following questions will determine whether the database

    should

    be starting upon system boot, the ports it will use, and the passwords

    that

    will be used for database accounts. Press to accept the defaults.

    Ctrl-C will abort.

    Specify the HTTP port that will be used for Oracle Application Express

    [8080]:8080

    Specify a port that will be used for the database listener [1521]:1521

    Specify a password to be used for database accounts. Note that the same

    password will be used for SYS and SYSTEM. Oracle recommends the use of

    different passwords for each database account. This can be done after

    initial configuration:

    Confirm the password:

  • 7/21/2019 Unidad 2 Pacheco

    20/38

    Do you want Oracle Database 10g Express Edition to be started on boot

    (y/n) [y]:y

    Starting Oracle Net Listener...Done

    Configuring Database...Done

    Starting Oracle Database 10g Express Edition Instance...Done

    Installation Completed Successfully.

    To access the Database Home Page go to "http://127.0.0.1:8080/apex"

    Yo respondi usando los valores por defecto, cambia los valores de los puertos si entran en conflictocon otros usados en tu mquina y no te olvides de la contrasea que pongas para SYS y SYSTEM,la usaremos posteriormente.

    En ambos sistemas operativos despus de introducir el usuario y el password correspondiente. Esnecesario definir un usuario con los privilegios necesarios para administrar la base de datos.

    Para administrar graficamente tu base de datos usaremos la siguiente URL.

    http://127.0.0.1:8080/apex

    MySQL Enterprise Edition

    MySQL Enterprise Edition incluye el conjunto ms completo de caractersticas avanzadas yherramientas de gestin para alcanzar los ms altos niveles de escalabilidad, seguridad, fiabilidady tiempo de actividad. Reduce el riesgo, costo y complejidad en el desarrollo, implementacin yadministracin de aplicaciones crticas de negocio MySQL.

    MySQL Enterprise Edition incluye:

    MySQL Enterprise Backup: Realiza copias de seguridad de bases de datos MySQL en lnea, delos subconjuntos de tablas InnoDB, y la recuperacin mediante puntos de restauracin.MySQL Enterprise de alta disponibilidadque proporciona, con soluciones certificadas queincluyen replicacin de MySQL, Oracle VM Templates para MySQL.MySQL Enterprise Escalabilidad: permite alcanzar el rendimiento sostenido y la escalabilidad decada vez mayor de usuarios, consulta, y las cargas de datosMySQL Enterprise Security: Proporciona listas para utilizar los mdulos de autenticacinexternos para integrar fcilmente las infraestructuras existentes de seguridad,incluyendoPluggable Authentication Modules y el directorio activo de WindowsMySQL Enterprise Monitorsupervisa continuamente su base de datos y de forma proactiva le

    asesora sobre cmo implementar las mejores prcticas de MySQL, incluyendo consejos y alertasde seguridadMySQL Query AnalyzerMejora el rendimiento de las aplicaciones mediante el control derendimiento de las consultas y precisa localizacin de cdigo SQL que est causando unadesaceleracinMySQL WorkbenchOfertas de modelado de datos, desarrollo de SQL y herramientas deadministracin integral para la administracin del servidor de configuracin del usuario, y muchoms.

  • 7/21/2019 Unidad 2 Pacheco

    21/38

    La versin 5.2. est preinstalada en Ubuntu para su configuracin seleccionaremos del menu

    principalAplicaciones,MySQL Administrador. Introduzca el password deroot.

    Obtendr como respuesta la interface de conexin. Teclee el password de root y presione el

    botnconect.

    Similar a Oracle procederemos a crear un usuario administrador para evitar usar root.SeleccioneUser Administrationy presione el botnNew User

  • 7/21/2019 Unidad 2 Pacheco

    22/38

    Introduzca los datos solicitados. Es necesario dar privilegios al usuario (Scheme Privileges), sin

    mayores explicaciones otorgue todos y pulse el botnApply Changes.

    2.1.7_ GUA PARA INSTALAR EL DBMS

    INSTALACIN DE ORACLE 11G EN WINDOWS XP

    Requerimientos:

    1. Permisos de Administrador: Es necesario tener permisos de administrador para ejecutar el

    instalador.

    2. Requisitos mnimos de Hardware:Es necesario cumplir con los siguientes requerimientos

    mnimos en equipo donde se desea instalar:

    Requisito Mnimo

    Memoria Fsica (RAM) 1Gb

    Memoria Virtual El doble de tamao que la RAM

    (2Gb)

    Espacio en disco Instalacin Bsica: 4.55Gb

    Instalacin Avanzada: 4.92Gb

  • 7/21/2019 Unidad 2 Pacheco

    23/38

    Adaptacin de Vdeo 256 colores

    Procesador 550Mhz

    3. Requisitos mnimos de Software:

    Arquitectura de procesador Intel (x86), AMD64, o Intel EM64T

    Sistema Operativo o Windows 2000 Service Pack 1 o

    superior

    o Windows Server 2003 o

    Superior

    o Windows XP

    Professional

    o Windows Vista Businnes o

    Superior

    *Windows NT no esta soportado

    Compilador o ACUCOBOL-GT version 6.2

    o Micro Focus Net Express 5.0

    Protocolo de red o TCP/IP

    o TCP/IP with SSL

    o Named Pipes

    4. Navegadores web soportados:

    o Netscape Navigator 7.2 o Superior

    o Mozilla version 1.7 o Superior

    o Microsoft Internet Explorer 6.0 SP2 o Superior

    o Firefox 1.0.4 o Superior

    Descarga de Oracle Database 11g Standard Edition para Windows XPProfesional

    Con cualquier navegador de Internet, como Mozilla Firefox, accederemos a la URL:

  • 7/21/2019 Unidad 2 Pacheco

    24/38

    http://www.oracle.com/technology/software/products/database/index.html

    Para poder realizar la descarga deberemos ser usuarios registrados de Oracle (es gratuito).

    Si somos usuarios registrados introduciremos usuario y contrasea en "Username" y "Password" y

    pulsaremos "Continue" para iniciar la descarga. Si no lo somos pulsaremos "sign up now" paraproceder al registro.

    Tras haber introducido usuario y contrasea o haber realizado el proceso de registro de nuevousuario, nos mostrar la ventana de descarga de Mozilla Firefox, marcaremos "Guardar archivo" ypulsaremos "Aceptar".

    A continuacin indicaremos la ubicacin de la descarga delficherowin32_11gR1_database_1013.zip. Es importante mencionar que ocupa casi 2GB deespacio en disco.

    Tras la descarga del fichero win32_11gR1_database_1013.zip, lo descomprimeros

    con WinZIPoWinRAR.

    Instalacin de Oracle Database 11g Standard Editionen Windows XP Profesional

    Pasos para instalar el DBMS:

    1. Tras la descompresin, accederemos a la carpeta ../database y ejecutaremos el fichero setup.exe.

    2. En nuestro caso marcaremos la opcin "Instalacin Avanzada" que permite personalizar casi todas

    las opciones de instalacin. Pulsaremos "Siguiente" para continuar:3. A continuacin seleccionaremos el tipo de instalacin, en nuestro caso marcaremos "Personal

    Edition". Pulsaremos "Siguiente" para continuar.

    4. Especificaremos un directorio base en "Directorio Base de Oracle" y en Ubicacin del Software

    indicaremos un "Nombre" para identificar esta instalacin de Oracle y una "Ruta de Acceso" (dondese copiarn los archivos de Oracle). Pulsaremos "Siguiente" para continuar.

    5. Si todo es correcto indicar "0 requisitos a verificar", si encuentra algn problema lo indicar y

    podremos subsanarlo. Cuando todo sea correcto pulsaremos "Siguiente" para continuar.

    6. En nuestro caso tenemos instalada ya Oracle Database 10g Express Edition., por lo que nos pedir

    si queremos actualizar, marcaremos "No" pues queremos dejar la versin XE tambin operativo,pulsaremos "Siguiente" para continuar.

    7. En nuestro caso seleccionaremos "Crear Base de Datos", pues queremos utilizar Oracle Database

    como servidor de Oracle una vez finalizado el proceso de instalacin. Pulsaremos "Siguiente" paracontinuar.

    http://www.oracle.com/technology/software/products/database/index.htmlhttp://www.oracle.com/technology/software/products/database/index.htmlhttp://www.oracle.com/technology/software/products/database/index.html
  • 7/21/2019 Unidad 2 Pacheco

    25/38

    8. En nuestro caso seleccionaremos "Uso General/Procesamiento de Transacciones", pues queremos

    crear un servidor de base de datos Oracle para uso general (aplicaciones de Contabilidad,Facturacin, Recursos Humanos, Gestin, etc.). Pulsaremos "Siguiente" para continuar.

    9. En nuestro caso, tanto "Nombre de la Base de Datos Global" como el "SID" tendrn el mismo valor:

    "bdoracle". Teniendo en cuenta que nuestra base de datos de Oracle no se configurar para Oracle

    Real Application Clusters (RAC) ni habr varias bases de datos. Pulsaremos "Siguiente" paracontinuar.

    10. En nuestro caso marcaremos "Activar Gestin Automtica de Memoria", teniendo en cuenta que

    tenemos un equipo con 2GB de RAM, indicaremos a Oracle que utilice hasta un mximo de 800MB(40%).

    11. En nuestro caso marcaremos "Usar Valor por Defecto", que se basar en el juego de caracteres

    del sistema operativo (WE8MSWIN1252).

    12. En nuestro caso no marcaremos la opcin "Desactivar Todos los Valores de Seguridad", de esta

    forma podremos disponer de los nuevos valores de seguridad mejorados.

    13. En nuestro caso, puesto que no tenemos instalado Oracle Management Agent, slo podremosseleccionar "Usar Database Control para Gestin de Base de Datos". No marcaremos "ActivarNotificacin de Correo Electrnico" pues an no tenemos un servidor de email disponible (estaopcin se puede modificar posteriormente):

    14. En nuestro caso, para almacenar los archivos de base de datos, seleccionaremos la opcin: a)

    Seleccione Sistema de Archivos. y b) En el campo Especificar Ubicacin de Archivo de Base deDatos, especifique el directorio principal para los archivos de base de datos.

    15. En nuestro caso, puesto que s queremos que se active la copia de seguridad automtica,

    marcaremso "Activar Copias de Seguridad Automticas" y marcaremos tambin en"Almacenamiento de rea de Recuperacin" la opcin "Sistema de Archivos", en "Ubicacin del

    rea de Recuperacin" indicaremos la unidad y carpeta de destino de la copia de seguridad. En"Credenciales de Trabajo de Copia de Seguridad utilizaremos el usuario "alonso" que pertenece algrupo de seguridad "Administradores" del sistema operativo Microsoft Windows XP.

    16.A continuacin indicaremos las contraseas para cada usuario que Oracle crear por defecto

    (SYS, SYSTEM, SYSMAN, DBSNMP). Podremos establecer la misma contrasea para todosmarcando la opcin "Usar la misma contrasea para todas las cuentas" y escribiendo la contraseaen "Introducir Contrasea" y "Confirmar Contrasea".

    17. En este punto, Oracle Universal Installer nos permite introducir los datos de cuanta de usuario

    MetaLink, en nuestro caso, puesto que no disponemos de esta cuenta, no marcaremos la opcin"Activar Oracle Configuration Manager". Pulsaremos "Siguiente" para continuar con la instalacin

    de Oracle Database.

    18. Por ltimo, antes de iniciar la instalacin, Oracle Universal Installer nos muestra un resumen de los

    valores seleccionados en las ventanas anteriores (Valores Globales, Idioma del Producto,Requisitos de Espacio, Nuevas instalaciones, etc.). Para iniciar la instalacin pulsaremos "Instalar".

    19. Tras la instalacin, podremos comprobar que Oracle funciona correctamente entrando en la

    administracin (Oracle Enterprise Manager), abriendo un navegador de Internet (por ejemploMozilla Firefox) y escribiendo la URL: https://nombre_servidor:1158/em. Para el caso de Mozilla

  • 7/21/2019 Unidad 2 Pacheco

    26/38

    Firefox nos advertir de que "La conexin segura ha fallado" debido a que el certificado deseguridad no es vlido, pulsaremos en "O puede aadir una excepcin".

    En la ventana de inicio de sesin de Oracle Enterprise Manager, introduciremos el usuario (system)y la contrasea y pulsaremos "Conectar":

    Como se puede observar en los archivos de apoyo, en Oracle Database 11g, toda las administracines va web (http), bastante intuitiva y sencilla. Podremos acceder a esta administracin desdecualquier equipo de nuestra red (LAN) sin necesidad de instalar software cliente ni nada por elestilo, con un simple navegador de Internet. Slo necesitaremos tener abierto el puerto 1158 en elequipo con Oracle Database 11g.

    2.1.8_ Una tabla es un sistema de elementos de datos (atributo - valores) que seorganizan que usando un modelo vertical - columnas (que son identificados por sunombre)- y horizontal filas. Una tabla tiene un nmero especfico de columnas, peropuede tener cualquier nmero de filas. Cada fila es identificada por los valores queaparecen en un subconjunto particular de la columna que se ha identificado por una llaveprimaria.

    http://2.bp.blogspot.com/-kKhO4asto48/Tf3wFOiz0tI/AAAAAAAAABs/KlF-BMM4Z-c/s1600/tablespace.pnghttp://3.bp.blogspot.com/-zfuC9JJtEBo/Tf3vU2hHXpI/AAAAAAAAABo/vMH2RJR_aD0/s1600/tablespace.pnghttp://2.bp.blogspot.com/-kKhO4asto48/Tf3wFOiz0tI/AAAAAAAAABs/KlF-BMM4Z-c/s1600/tablespace.pnghttp://3.bp.blogspot.com/-zfuC9JJtEBo/Tf3vU2hHXpI/AAAAAAAAABo/vMH2RJR_aD0/s1600/tablespace.png
  • 7/21/2019 Unidad 2 Pacheco

    27/38

    Una tabla de una base de datos es similar en apariencia a una hoja de clculo, en cuantoa que los datos se almacenan en filas y columnas. Como consecuencia, normalmente esbastante fcil importar una hoja de clculo en una tabla de una base de datos. La principaldiferencia entre almacenar los datos en una hoja de clculo y hacerlo en una base dedatos es la forma de organizarse los datos.

    Por lo tanto, la creacin de las tablas en el proceso de programacin en Oracle juegan unpapel muy importante. En el momento de crear las tablas se definen caractersticas a dosniveles: Tabla y Columna, como se muestra a continuacin:

    A nivel de tabla: Refieren a una o a varias columnas, donde cada columna se defineindividualmente.

    Nombre:

    Nombre de la tabla puede ser de 1 a 30 caracteres. La tabla tiene comopropietario al usuario que las crea. Por ejemplo EQUIPO.Hay que tener en cuenta tambin ciertas restricciones con los nombresde las tablas: longitud mxima de 30 caracteres, no puede habernombres de tabla duplicados, deben comenzar con un carcteralfabtico, permitir caracteres alfanumricos y el guin bajo '_', y Oracleno distingue entre maysculas y minsculas.

    Propietario:

    La tabla tiene como propietario al usuario que las crea En nuestro casosomos el usuario ALUMNO. Otro usuario que desee usar nuestrastablas debe tener autorizacin para ello y hacer referencia a la tablacomo ALUMNO.EQUIPO(propietario.tabla)

    Cantidad deColumnas:

    Una tabla puede tener un mximo de 254 columnas.

    A nivel deColumnael nombre de la columna puede tener un mximo de 30 caracteres.

    En Oracle podemos implementar diversos tipos de tablas. A continuacin sepresenta una recopilacin no exhaustiva de ellas.

  • 7/21/2019 Unidad 2 Pacheco

    28/38

    Tipo Tabla Descripcin

    Regular(heap)

    Son el mecanismo de almacenamiento de los datos en una base dedatos Oracle. Contienen un conjunto fijo de columnas. Las columnasde una tabla describen los atributos de la entidad que se representa

    con la tabla. Cada columna tiene un nombre y caractersticasespecficas: tipo de dato y longitud, restricciones, etc.

    Clustered

    Un cluester proporciona un mtodo opcional de almacenar datos detabla. Un cluster est compuesto de un grupo de tablas que compartenlos mismos bloques de datos. Las tablas son agrupadas mediantecolumnas comunes.

    Index

    Aqu una tabla es almacenada en la estructura de un ndice. Estoimpone orden fsico a las filas por si mismas. A diferencia de un heap,donde los datos son almacenados en donde caben, en una tabla IOT

    (Tabla Organizada por Indices) los datos son almacenados en el ordende la clave primaria.

    Particionadas

    Es un esquema de organizacin de los datos con el cual podemosdividirla en mltiples objetos de almacenamientos llamados particionesde datos o rangos, dependiendo los valores puede ser dividido en unoo ms columnas de la tabla. Cada particiones de datos es almacenadoseparadamente. Estos objetos almacenados pueden estar endiferentes tablespaces, en el mismo o en una combinacin de ambos.

    Temporales

    Son tablas cuyos datos permanecern en el sistema slo durante el

    tiempo que dure la transaccin o sesin involucrada. No obstante, aligual que para las tablas permanentes, la definicin de las tablastemporales se almacena en las tablas del sistema.

    La sintaxis del comando que permite crear un tabla es la siguiente

    Del examen de la sintaxis de la sentenciaCreate Tablese pueden concluir quenecesitamos conocer los distintos tipos de columna y las distintas restricciones que sepueden imponer al contenido de las columnas.

    Existen varios tipos de datos en SQL. De esta manera, cada columna puede albergar unainformacin de naturaleza distinta. Los tipos de datos ms comunes y sus caractersticas

  • 7/21/2019 Unidad 2 Pacheco

    29/38

    en Oracle Express (10 Y 11g) se resumen en la siguiente tabla. Las versiones de Oraclecomercial soportan una gama mucho ms amplia de tipos de datos.

    Tipo de Dato Descripcin

    BLOB

    Contiene datos binarios con un tamao mximo de 4 gigabytes.

    Los datos binarios nos van a permitir guardar en la base dedatos archivos, imagenes, sonidos, etc ...Casi siempre es preferible guardar la ruta del archivo en la basede datos en lugar del propio archivo en modo binario, peroexisten ciertas circunstancias en las que no nos queda otrasolucin.

    BINARY_DOUBLE Presicin doble

    BINARY_FLOAT Presicin simple

    CLOB

    Un tipo de datos CLOBde Oracle contiene datos de caracteresbasados en el juego de caracteres predeterminados delservidor. Su tamao mximo es de 4 gigabytes. Se asignaa cadena.

    Use la siguiente expresin para una consulta de un campoCLOB

    SELECTDBMS_LOB.substr(campo,DBMS_LOB.getlength(campo),1)

    FROMtablaprueba;

    CHARAlmacena datos de tipo carcter alfanumrico de longitud fija,con un tamao mximo de 2000. caracteres

    DATEAlmacena fechas desde el 1-Ene-4712 AC hasta el 31-Dic-4712DC.

    NUMBER(dig [,

    dec])Datos numricos dendgitos, de los cualesdecsondecimales. El tamao mximo es de 38 dgitos.

    NVARCHAR2 Almacena un valor alfanumrico de longitud variable encaracteres Unicode con las mismas restricciones de varchar.

    TIMESTAMPFecha y hora (incluidos los segundos), con un tamao queabarca desde 7 a 11 bytes.

    VARCHAR2(tamao

    )Guarda datos de tipo carcter alfanumrico de longitudvariable, con un tamao mximo de 4,000 caracteres.

  • 7/21/2019 Unidad 2 Pacheco

    30/38

    Ejemplo:Considere la siguiente tabla de datos correspondientes a los campeones deFrmula 1 (1950 - 2012) y sus escuderas. Y su traduccin a sentencias Oracle.

    Ao Campen Escudera

    2012 - -

    2011 Sebastian Vettel Red Bull Racing

    2010 Sebastian Vettel Red Bull Racing

    2009 Jenson Button Brawn GP

    2008 Lewis Hamilton McLaren

    2007 Kimi Raikkonen Ferrari

    2006 Fernando Alonso Renault

    2005 Fernando Alonso Renault

    2004 Michael Schumacher Ferrari

    2003 Michael Schumacher Ferrari

    2002 Michael Schumacher Ferrari

    2001 Michael Schumacher Ferrari

    2000 Michael Schumacher Ferrari

    CREATE TABLEf1 (

    year INTEGER PRIMARY KEY,

    campeon CHAR(30),

    escuderia CHAR(20)

    );

    Ejemplo: Estados, capitales, densidad de poblacin y superficie de la RepublicaMexicana

    CREATE TABLEestados (

    idEstado INTEGER PRIMARY KEY,

    nombreEstado CHAR(25) NOT NULL,

    capital CHAR(25) NOT NULL,

    densidad INTEGER NOT NULL,

  • 7/21/2019 Unidad 2 Pacheco

    31/38

    poblacion INTEGER NOT NULL

    );

    Tablas TemporalesOracle permite la creacin de tablas temporales para mantener datos propios y exclusivosa una sesin Oracle determinada. Estos datos permanecern en el sistema slo duranteel tiempo que dure la transaccin o sesin involucrada. No obstante, al igual que para lastablas permanentes, la definicin de las tablas temporales se almacena en las tablas delsistema.

    La siguiente sintaxis permite crear una tabla temporal personal para cada sesion. Esosignifica que los datos no se comparten entre sesiones y se eliminan al final de la misma.

    CREATEGLOBAL TEMPORARYTABLE[ schema. ]table (

    nombreColumna tipoDato [DEFAULT

    expresin] [NOT NULL

    ],

    [,nombre_columna tipo_dato [DEFAULT expresin]

    [restriccin_columna] ...

    |restriccin_tabla];

    ON COMMIT{ DELETE | PRESERVE} ROWS]

    [ physical_properties ]

    Con la opcionON COMMIT DELETE ROWSse borran los datos cada vez que sehaceCOMMITen la sesion.Con la opcionON PRESERVE DELETE ROWSlos datos no se borran hasta el final de lasesion.

    Sus ventajas son varias, la informacin contenida en ella esta solo disponible para lasesin actual, cualquierinsercin,borrado,actualizacinsolo se refleja en la sesinactiva.

    Muchas funcionalidades de cualquier tabla normal se mantienen en ella, como triggers anivel tabla, vistas, indices, exportar e importar (claro solo la definicin de la tabla).

    No es posible declarar llaves forneas en una tabla temporal.

  • 7/21/2019 Unidad 2 Pacheco

    32/38

    (DROP) Eliminacin

    Cuando una tabla ya no es til y no vamos a volver a necesitarla debe ser borrada. Estaoperacin se puede realizar con el comando DROP TABLE.

    DROP TABLEnombre_tabla[CASCADE CONSTRAINTS][PURGE]

    Se borra la tabla de la base de datos, borrando toda la informacin contenida en la tabla,es decir, todas las filas. Tambin se borrar toda la informacin que sobre la tablaexistiera en el diccionario.

    Si alguna columna de la tabla a borrar sirve como clave ajena de alguna tabla detalle,impide la eliminacin de la tabla, ya que existe una restriccin que requiere de laexistencia de la tabla maestra. Esto se puede areglar colocando la sentencia CASCADECONSTRAINTS.

    Esto produce que las restricciones de la tabla detalle se borren antes de borrar la tablamaestra.PURGEevita que los objetos borrados se vayan a la papelera

    La siguiente sentencia produce la eliminacin de la tabla BORRAME.

    Modificacin

    Oracle permite modificar las restricciones definidas para una tabla. Esto puede llevar ainconsistencia de los datos ya introducidos en la base de datos. Por ello, Oracle tienedefinidos mecanismos para modificacin de los datos ya existentes.

    Esta operacin se puede realizar con el comandoALTER TABLE.

  • 7/21/2019 Unidad 2 Pacheco

    33/38

    ALTER TABLE[esquema.]tablaclausula_constraint[,][ENABLEclausula_activa |DISABLEclausula_disable][{ENABLE|DISABLE}TABLE LOCK][{ENABLE|DISABLE}ALLTRIGGERS];

    Hay que tener en cuenta varios puntos:

    No es posible disminuir el tamao de la calumna, si esta contiene datos En modificaciones, todos los datos tanto nuevos como viejos deben de ser

    compatibles o la tabla debe de estar vacia. La opcion ADD NOT NULLsolo sera posible si la tabla esta vacia La opcion MODIFI NOT NULLsolo se podra modificazr siempre y cuando

    no se tenga un valor nulo o este vacia la calumna en cuestion.

    Considere el ejemploPropietario - Automvil, bajo el criterio de hacienda del Gobiernodel Estado de Veracruz, Mxico. Modificaremos el ejemplo para aadir el atributocolor.

    Es factible modificar una tabla aadiendo o eliminando restricciones, en este caso para elejemplo anterior el comando a utilizar ser

    ALTER TABLEtabla{ADD|DROP}CONSTRAINTrestr iccin;

    ALTER TABLEautomovilDROP CONSTRAINTFK_Propietario;

    ALTER TABLEautomovil ADD

    CONSTRAINTFK_Propietario FOREIGN KEY(idPropietario)

    REFERENCESpropietario (idPropietario)

    ON DELETE CASCADE;

  • 7/21/2019 Unidad 2 Pacheco

    34/38

    El cual permitir el borrado en cascada.Ahora veremos los comandos en:MySQL

    MySQL soporta varios motores de almacenamiento que tratan con distintos tipos de tabla.Los motores de almacenamiento de MySQL incluyen algunos que tratan con tablastransaccionales y otros que no lo hacen:

    MyISAMtrata tablas no transaccionales. Proporciona almacenamiento yrecuperacin de datos rpida, as como posibilidad de

    bsquedasfulltext.MyISAMse soporta en todas las configuraciones MySQL, yes el motor de almacenamiento por defecto a no ser que tenga una configuracindistinta a la que viene por defecto con MySQL.

    El motor de almacenamientoMEMORYproporciona tablas en memoria.El motor de

    almacenamientoMERGEpermite una coleccin de tablasMyISAMidnticas sertratadas como una simple tabla. ComoMyISAM, los motores dealmacenamientoMEMORYyMERGEtratan tablas no transaccionales y ambos seincluyen en MySQL por defecto.

    Nota: El motor de almacenamientoMEMORYanteriormente se conoca comoHEAP.Los motores de almacenamientoInnoDByBDBproporcionan tablastransaccionales. BDB se incluye en la distribucin binaria MySQL-Max en aquellos

    sistemas operativos que la soportan.InnoDBtambin se incluye por defecto entodas las distribuciones binarias de MySQL 5.0 . En distribuciones fuente, puedeactivar o desactivar estos motores de almacenamiento configurando MySQL a su

    gusto.El motor de almacenamientoEXAMPLEes un motor de almacenamiento 'tonto'que no hace nada. Puede crear tablas con este motor, pero no puede almacenar datosni recuperarlos. El objetivo es que sirva como ejemplo en el cdigo MySQL para ilustrarcmo escribir un motor de almacenamiento. Como tal, su inters primario es paradesarrolladores.

    NDB Clusteres el motor de almacenamiento usado por MySQL Cluster paraimplementar tablas que se particionan en varias mquinas. Est disponible endistribuciones binarias MySQL-Max 5.0. Este motor de almacenamiento est disponiblepara linux, Solaris, y Mac OS X. Los autores mencionan que se anadir soporte para

    este motor de almacenamiento en otras plataformas, incluyendo Windows en prximasversiones.

    El motor de almacenamientoARCHIVEse usa para guardar grandes cantidades dedatos sin ndices con una huella muy pequea.

    El motor de almacenamientoCSVguarda datos en archivos de texto usando formatode valores separados por comas.

  • 7/21/2019 Unidad 2 Pacheco

    35/38

    El motor de almacenamientoFEDERATEDse aadi en MySQL 5.0.3. Este motorguarda datos en una base de datos remota. En esta versin slo funciona con MySQLa travs de la API MySQL C Client. En futuras versiones, ser capaz de conectar conotras fuentes de datos usando otros drivers o mtodos de conexin clientes.

    La versin 5 de MySQL crea por defecto tablas innoDB que permiten el manejo deintegridad referencial, transacciones. Al igual que las tablas regulares de oracle. Parasaber si el gestor de base de datos de MySQL que tenemos las soporta es necesarioejecutar la siguiente sentencia.

    SHOW VARIABLES liKE'%innodb%';

    Ejecutar

    Si nuestro gestor soporta por defecto las tablas innodb las sentencias para crear las

    tablas previamente mostradas sern exactamente igual a las de oracle. En caso contrariose muestra la sintaxis correspondiente

    CREATE TABLEf1 (

    year INTEGER PRIMARY KEY,

    campeon CHAR(30),

    escuderia CHAR(20)

    ) ENGINE= InnoDB;

    Ejemplo: Estados, capitales, densidad de poblacin y superficie de la RepublicaMexicana

    CREATE TABLEestados (

    idEstado INTEGER PRIMARY KEY,

    nombreEstado CHAR(25) NOT NULL,

    capital CHAR(25) NOT NULL,

    densidad INTEGER NOT NULL,

    poblacion INTEGER NOT NULL

    ) ENGINE= InnoDB;

    Comando Describe

    MySQL proporciona este comando que resulta til para conocer la estructura de unatabla, las columnas que la forman y su tipo y restricciones. La sintsis es lasiguienteDESCRIBEnombreTabla.

    DESCRIBEf1;

    Ejecutar

    Comando SHOW TABLES y SHOW CREATE TABLE

    http://www.prograweb.com.mx/tallerBD/ejecutables/0202ShowVariables.php?TB_iframe=true&height=375&width=500http://www.prograweb.com.mx/tallerBD/ejecutables/0202ShowVariables.php?TB_iframe=true&height=375&width=500http://www.prograweb.com.mx/tallerBD/ejecutables/0202Describe.php?TB_iframe=true&height=150&width=350http://www.prograweb.com.mx/tallerBD/ejecutables/0202Describe.php?TB_iframe=true&height=150&width=350http://www.prograweb.com.mx/tallerBD/ejecutables/0202Describe.php?TB_iframe=true&height=150&width=350http://www.prograweb.com.mx/tallerBD/ejecutables/0202ShowVariables.php?TB_iframe=true&height=375&width=500
  • 7/21/2019 Unidad 2 Pacheco

    36/38

    El comandoSHOW TABLESmuestra las tablas dentro de una base de datosySHOW CREATE TABLESmuestra la estructura de creacin de la tabla.

    Descargar

    Ejecutar

    Tablas temporales

    Las tablas temporales solo existen mientras la sesin est viva . Si se corre este cdigoen un script de PHP ( Cualquier otro lenguaje), la tabla temporal se destruirautomticamente al termino de la ejecucin de la pgina. Si no especfica MEMORY, latabla se guardar por defecto en el disco.

    CREATE TEMPORARY TABLEtemporal (

    ife INTEGER(13) PRIMARY KEY,nombre CHAR(30) NOT NULL UNIQUE

    );

    Este tipo de tabla solo puede ser usada por el usuario que la crea.

    Si creamos una tabla que tiene el mismo nombre que una existente en la base de datos,la que existe quedar oculta y trabajaremos sobre la temporal.

    Tablas Memory ( Head )Se almacenan en memoria

    Una tabla head no puede tener ms de 1600 camposLas tablas MEMORY usan una longitud de registro fija.

    MEMORY no soporta columnas BLOB o TEXT.

    MEMORY en MySQL 5.0 incluye soporte para columnas AUTO_INCREMENT e ndicesen columnas que contengan valores NULL.

    Las tablas MEMORY se comparten entre todos los clientes (como cualquier otra tablano-TEMPORARY).

    CREATE TEMPORARY TABLEtemporal (ife INTEGER(13) PRIMARY KEY,

    nombre CHAR(30) NOT NULL UNIQUE

    ) ENGINE= MEMORY;

    Modificacin

    http://www.prograweb.com.mx/tallerBD/codigo/0202Muestra.rarhttp://www.prograweb.com.mx/tallerBD/codigo/0202Muestra.rarhttp://www.prograweb.com.mx/tallerBD/ejecutables/0202Muestra.php?TB_iframe=true&height=450&width=600http://www.prograweb.com.mx/tallerBD/ejecutables/0202Muestra.php?TB_iframe=true&height=450&width=600http://www.prograweb.com.mx/tallerBD/ejecutables/0202Muestra.php?TB_iframe=true&height=450&width=600http://www.prograweb.com.mx/tallerBD/codigo/0202Muestra.rar
  • 7/21/2019 Unidad 2 Pacheco

    37/38

    Esta operacin se puede realizar con el comandoALTER TABLE. Para usar ALTER

    TABLE, necesita permisosALTER,INSERTyCREATEpara la tabla.La sintaxispara MySQL es

    ALTER[IGNORE] TABLEtbl_name

    alter_specification [, alter_specification] ...;

    alter_specification:

    ADD[COLUMN] column_definition [FIRST| AFTERcol_name ]| ADD[COLUMN] (column_definition,...)| ADD INDEX[index_name] [index_type] (index_col_name,...)| ADD[CONSTRAINT[symbol]]

    PRIMARY KEY[index_type] (index_col_name,...)| ADD[CONSTRAINT[symbol]]

    UNIQUE[index_name] [index_type] (index_col_name,...)| ADD[FULLTEXT|SPATIAL] [index_name] (index_col_name,...)| ADD[CONSTRAINT[symbol]]

    FOREIGN KEY[index_name] (index_col_name,...)

    [reference_definition]

    | ALTER[COLUMN] col_name {SET DEFAULTliteral | DROP DEFAULT}| CHANGE[COLUMN] old_col_name column_definition

    [FIRST|AFTERcol_name]| MODIFY[COLUMN] column_definition [FIRST| AFTERcol_name]| DROP[COLUMN] col_name| DROP PRIMARY KEY| DROP INDEXindex_name| DROP FOREIGN KEYfk_symbol| DISABLE KEYS| ENABLE KEYS| RENAME[TO] new_tbl_name|ORDER BYcol_name| CONVERT TO CHARACTER SETcharset_name [COLLATEcollation_name]| [DEFAULT] CHARACTER SETcharset_name [COLLATEcollation_name]| DISCARD TABLESPACE| IMPORT TABLESPACE

    | table_options

    Considere el ejemploPropietario - Automvil, bajo el criterio de hacienda del Gobierno

    del Estado de Veracruz, Mxico. Modificaremos el ejemplo para aadir elatributocolorsegn la sintaxis MySQL

    ALTER TABLEautomovil

    ADD(color CHAR(15) NOT NULL);

  • 7/21/2019 Unidad 2 Pacheco

    38/38

    Descargar

    Ejemplo: Eliminar una llave foraneaALTER TABLEautomovilDROP FOREIGN KEYFK_Propietario;

    Ejemplo: Agregar una llave foranea con borrado en cascada

    ALTER TABLEautomovil ADDCONSTRAINTFK_PropietarioFOREIGN KEY(idPropietario)REFERENCESpropietario (idPropietario)ON DELETE CASCADE;

    Puede ejecutar mltiples clusulasADD,ALTER,DROP, yCHANGEen un nicocomandoALTER TABLE. Esta es una extensin MySQL al estndar SQL, que permiteslo una de cada clusula por comandoALTER TABLE.

    http://www.prograweb.com.mx/tallerBD/codigo/020PropAutoMySQL.rarhttp://www.prograweb.com.mx/tallerBD/codigo/020PropAutoMySQL.rar