Cargando

lunes, 20 de mayo de 2013

[BD] Lección 2: Introducción

¡Primero que nada, TODO lo que te rodea está formado por datos!

Recuerda eso muy bien. Pero, ¿De qué está conformado un dato? Es algo que tienes que saber muy bien, ya que para manejar datos tienes que conocerlos. (Ten en cuenta que los vas a usar todo el tiempo en tu BD).

Todo dato tiene un atributo, dominio y una ocurrencia. Por ejemplo, piensa en un color...


Atributo: Color (¿Qué es? - Característica)
Dominio: Azul, verde, plomo, amarillo, ... (Todas las posibilidades, rango de valores posibles)
Ocurrencia: Blanco. (El valor en sí)


Para manejar una Base de Datos hay distintos tipos de comandos que tienes que saber muy bien, como una parte más de ti. Lo primero que tienes que aprender son los comandos DDL:


DDL:
  • Create
  • Drop
  • Alter


Naturalmente, para crear una base de datos y usarla necesitas instalar una SGDB (Sistema de Gestión de Base de Datos). Hay varios muy buenos, entre los más conocidos están: MySQL, SQL Server, entre otros.

Por ahora, concéntrate en los comandos.


CREATE DATABASE DB_WEB








La sintaxis está muy fácil, ya que seguramente sabes que significa "crear base de datos DB_WEB", donde "DB_WEB" es el nombre dado a la base de datos.



DROP DATABASE DB_WEB

Usado para "eliminar base de datos DB_WEB".


ALTER DATABASE DB_WEB







Usado para "modificar", pero este comando lo veremos más adelante. Por ahora, recuerda "CREATE" y "DROP".

Para mostrarte las cosas más fáciles en esta lección, he decidido enseñarte a crear una base de datos simple con una tabla o dos, sin especificar en qué ruta guardar ni restringir el tamaño de tu base de datos en tus archivos de datos, secundario y de registro (log).





Creando la primera Base de Datos (Database)





CREATE DATABASE DB_ANIMES(?) 

USE DB_ANIMES(?) 

CREATE TABLE SHOUJO
(
COD_AN CHAR(3) NOT NULL,
NOM_AN VARCHAR(11) NOT NULL,
EP_AN INT NOT NULL,
TEMP_AN INT NOT NULL,
EST_AN VARCHAR(10) NOT NULL CHECK(EST_AN IN('FINALIZADA','ENEMISION','CANCELADA'))
)




(?): Indica que en MySQL se le tiene que agregar ";" (Punto y coma) al final.

¿Qué has entendido hasta ahí? Seguramente, que has creado una base de datos llamada "DB_ANIMES" y que la estás usando "USE". Asimismo, has agregado una tablas llamada "SHOUJO". La sintaxis de la creación de los campos de la tabla son los que te deben estar mareando.

Mira mejor:

1. COD_AN es el primer campo y viene de CODIGO_ANIME. Simplemente, que al crear los campos siempre se acorta los nombres para mayor comodidad. Recuerda que cualquier tabla que creas, siempre debe tener un código o un campo que lo identifique (primary key). Más adelante se explicará mejor qué es éso.

2. Siempre debes especificar de qué tipo va a ser tu campo. CHAR(3) quiere decir que va a ser de tipo "carácteres" y tendrá 3 en total, no menos y no más. Por ejemplo, yo pensé llenarlo de esta forma "S01, S02, S03...". Por lo tanto, decidí que sería de tres. (S alude a Shoujo). VARCHAR(11) es similar al String(cadena) de Java. INT se refiere a Integer (número entero).

3. En conclusión, los nombres acortados hacen alusión a:
COD_AN = CODIGO_ANIME
NOM_AN = NOMBRE_ANIME
EP_AN = EPISODIOS_ANIME
TEMP_AN = TEMPORADAS_ANIME
EST_AN = ESTADOS_ANIME

4. NOT NULL (No nulo) simplemente indica que el campo creado no tendrá valores nulos o vacíos.

5. Ya te debe estar quedando más claro el código; sin embargo, de seguro te diste cuenta del CHECK en el campo EST_AN. CHECK significa "Verificar" y está verificando que los datos en el campo EST_AN solo tengan los valores de "finalizado" o "En emisión" o "Cancelado". Si en caso, llenas con "Hola" te saldrá un error por no ser una de las tres opciones. Su sintaxis siempre es así:


  • Al costado del campo escribir: CHECK()
  • Luego, agregar otra vez el nombre del campo e ingluir IN (En): CHECK(EST_AN IN())
  • Dentro de los paréntesis introducir las opciones que quieras, en resumen:

CHECK(NOMBRE_CAMPO IN('DATO'))




Finalizamos por hoy, en la siguiente entrada de [BD] se verá la instalación de MySQL Workbench para que puedas practicar y posiblemente también de SQL Server. Mientras tanto, practica lo que has aprendido en esta pequeña lección. Nos vemos (°-°)/




3 comentarios:

  1. Hola
    Dónde encuentro la siguiente lección? gracias

    ResponderEliminar
  2. Hola Anónimo. Lo que pasa es que solo hay hasta esta lección (Lección 2). Pero, no te preocupes, pronto aumentaré más.

    ResponderEliminar