mysql 5 versiones 5 (extracto del libro)

6
215 Capítulo 9 Metadatos Metadatos 1. La importancia de los metadatos Más allá del contenido de los propios datos de un sistema, a menudo es muy útil conocer un mínimo de información acerca de los datos que se manipulan. Estos datos sobre los datos se llaman metadatos. En el ámbito que nos atañe, aprender el contexto de los datos que se desea consultar o actualizar es importante para el desarrollador. Por ejemplo, puede querer saber: La lista de sus tablas. Los nombres y el tipo de las columnas de cada una de sus tablas. Las tablas accesibles, en lectura y en escritura. El nombre de las bases de datos accesibles. Los usuarios. – Etc.

Upload: antonioreacifuentes

Post on 08-Sep-2015

213 views

Category:

Documents


1 download

DESCRIPTION

ex

TRANSCRIPT

  • 215

    Captulo 9Metadatos

    Metadatos1. La importancia de los metadatosMs all del contenido de los propios datos de un sistema, a menudo es muytil conocer un mnimo de informacin acerca de los datos que se manipulan.Estos datos sobre los datos se llaman metadatos.

    En el mbito que nos atae, aprender el contexto de los datos que se deseaconsultar o actualizar es importante para el desarrollador. Por ejemplo, puedequerer saber:

    La lista de sus tablas.

    Los nombres y el tipo de las columnas de cada una de sus tablas.

    Las tablas accesibles, en lectura y en escritura.

    El nombre de las bases de datos accesibles.

    Los usuarios.

    Etc.

  • E

    diti

    ons

    ENI -

    All

    righ

    ts r

    eser

    ved

    216Gua de referencia del desarrollador

    MySQL 5

    Observacin

    Los metadatos son tiles en muchas reas. Por ejemplo, se usan en una listade archivos musicales MP3 dispersos en un reproductor cualquiera. Si no setuviera informacin sobre las canciones, no se podran organizar por nombrede artista, por gnero, etc. Tambin sucede lo mismo para los archivos defotografas JPEG... Afortunadamente, estos archivos tambin contienenmetadatos (ID3 para los MP3 y datos EXIF para las fotos JPEG).

    En el mbito particular de las bases de datos multimedia, es decir, cuando seusa una base de datos MySQL para almacenar imgenes, sonidos, vdeos, ma-pas geogrficos, etc., los datos son, por definicin, binarios y estn sin estruc-turar. Es indispensable tener tablas que contengan los metadatos para elusuario final.

    Segn la base de datos, se puede tener acceso mediante una interfaz grfica,ya sea mediante comandos especficos sencillos, o bien de forma todava mssencilla mediante sentencias SELECT si los metadatos se almacenan en tablasrelacionales. MySQL ofrece las tres posibilidades, aunque a veces de forma unpoco limitada.

    Observacin

    Para hacerse una idea de la implementacin de los metadatos de los princi-pales SGBD del mercado puede consultar: http://sqlzoo.net/wiki/Meta_Data_Reference

  • 217MetadatosCaptulo 9

    2. Visin general de los metadatoscon MySQL WorkbenchMySQL Workbench es, como ya se ha visto, una herramienta de desarrollo, demodelado y de administracin grfica. Entre otras cosas, muestra un cierto n-mero de metadatos de forma intuitiva.

    En el mdulo SQL Development, el hecho de navegar con el ratn a travsde las bases de datos y los objetos que stas contienen (tablas, vistas, procedi-mientos almacenados...) y de mostrar su descripcin es, evidentemente, el m-todo ms sencillo para acceder a los metadatos de las bases de datos.

  • E

    diti

    ons

    ENI -

    All

    righ

    ts r

    eser

    ved

    218Gua de referencia del desarrollador

    MySQL 5

    Por ejemplo, si se abre una conexin con MySQL Workbench, se hace clic enla base de datos TEST y se selecciona la vista (VIEWS) v_emp10, se obtendrdirectamente informacin sobre sus columnas. Se puede ir ms lejos recupe-rando el script SQL que sirvi para crear este objeto (haciendo clic con el botnderecho del ratn: Send to SQL Editor - Create Statement):

  • 219MetadatosCaptulo 9

    A continuacin, en el mdulo Server Administration se puede obtener in-formacin acerca de los privilegios de los usuarios. Por ejemplo, haciendo clicen el enlace Manage Security, a continuacin en el usuario DD de la lista deusuarios y, finalmente, en la pestaa Administrative Roles, se obtienen losprivilegios explcitos de DD, es decir, qu comandos SQL tiene permitidos uti-lizar:

    En esta pantalla se comprueba que DD tiene, por ejemplo, el permiso de crearprocedimientos almacenados y vistas pero no el de crear usuarios. Lo cual esnormal para un perfil de desarrollador.

  • E

    diti

    ons

    ENI -

    All

    righ

    ts r

    eser

    ved

    220Gua de referencia del desarrollador

    MySQL 5

    3. Los comandos SHOWUna ltima forma sencilla y prctica (aunque ciertamente rudimentaria) deobtener metadatos del servidor MySQL y de los datos que contiene es utilizarel comando SHOW.

    Observacin

    El comando SHOW no es meramente un comando SQL, aunque se utilice enel intrprete de comandos SQL. Y aunque es rudimentario, ofrece sin embar-go ms informacin que la interfaz grfica...

    Este comando tiene una sintaxis muy simple y se puede utilizar con cualquiercliente, ya sea grfico o no.

    La sintaxis genrica es la siguiente:

    SHOW nombre_objeto [LIKE 'cadena']

    Observacin

    Histricamente, el comando SHOW era el nico medio en las versiones ante-riores de MySQL (antes de la llegada de SQL Workbench y de los esquemasdedicados a los metadatos) de obtener metadatos. Por este motivo, se sigueutilizando mucho este comando en detrimento del resto de mtodos.

    El comando SHOW DATABASES enumera, por ejemplo, las bases de datos al-bergadas en el servidor actual, SHOW GRANTS FOR usuario los privilegiosdefinidos, SHOW TABLES las tablas existentes en la base de datos actual, etc.Vea los ejemplos que se muestran a continuacin:

    mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sakila || TEST || world |+--------------------+6 rows in set (0.00 sec)