You are on page 1of 11

Instrucciones para crear tablas My SQL

Lenguaje SQL Creacin de bases de datos y tablas


A nivel terico, existen dos lenguajes para el manejo de bases de datos:

DDL (Data Definicion Languaje ) Lenguaje de definicin de datos. Es el lenguaje que se usa para crear bases de datos y tablas, y para modificar sus estructuras, as como los permisos y privilegios.
Este lenguaje trabaja sobre unas tablas especiales llamadas diccionario de datos. DML (Data Manipilation Language) lenguaje de manipulacin de datos. Es el que se usa para modificar y obtener datos desde las bases de datos. SQL engloba ambos lenguajes DDL+DML, y los estudiaremos juntos, ya que ambos forman parte del conjunto de sentencias de SQL. En este captulo vamos a explicar el proceso para pasar del modelo lgico relacional, en forma de esquemas de relaciones, al modelo fsico, usando sentencias SQL, y viendo las peculiaridades especficas de MySQL.

QUE SON ?
Cuando se crea una base de datos, los datos se almacenan en tablas, que son listas de filas y columnas basadas en temas. Por ejemplo, puede crear una tabla Contactos para almacenar una lista de nombres, direcciones y nmeros de telfono, o una tabla Productos para almacenar informacin sobre productos. Siempre debe empezar a disear una base de datos creando primero sus tablas, incluso antes de crear otros objetos de base de datos. En este artculo se explica cmo crear tablas. Aprender a crear una tabla, a agregar campos a la tabla y a definir la clave principal de una tabla. Obtendr tambin informacin sobre los tipos de datos y sobre el modo de definir propiedades de los campos y de la tabla. Antes de crear tablas, debe examinar cuidadosamente sus requisitos y disear la base de datos para determinar las tablas que necesita. Para obtener una introduccin a la preparacin y diseo de una base de datos, vea el artculo

Forteign-key
InnoDB tambin soporta restricciones de claves forneas. La sintaxis para definir una restriccin de clave fornea en InnoDB es as: Ejemplo CONSTRAINT smbolo] FOREIGN KEY [id] (nombre_ndice, ...) REFERENCES nombre_de_tabla (nombre_ndice, ...) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

Las definiciones de claves forneas estn sujetas a las siguientes condiciones:


Ambas tablas deben ser InnoDB y no deben ser tablas temporales.

En la tabla que hace referencia, debe haber un ndice donde las columnas de clave extranjera estn listadas en primer lugar, en el mismo orden. En la tabla referenciada, debe haber un ndice donde las columnas referenciadas se listen en primer lugar, en el mismo orden. En MySQL/InnoDB 5.0, tal ndice se crear automticamente en la tabla referenciada si no existe an. No estn soportados los ndices prefijados en columnas de claves forneas. Una consecuencia de esto es que las columnas BLOB y TEXT no pueden incluirse en una clave fornea, porque los ndices sobre dichas columnas siempre deben incluir una longitud prefijada. Si se proporciona un CONSTRAINTsmbolo, ste debe ser nico en la base de datos. Si no se suministra, InnoDB crea el nombre automticamente.

EJEMPLO

Primary-key
Una clave principal identificar de forma exclusiva una fila en una tabla. Una o ms columnas pueden ser identificados como la clave principal. Los valores de una sola columna se utiliza como clave principal deben ser nicos (como el nmero de seguro social de una persona). Cuando se utiliza ms de una columna, la combinacin de valores de columna debe ser nico. Al crear la tabla de contactos se describe en Crear una tabla bsica de MySQL, el contact_id columna puede hacerse una clave principal con PRIMARY KEY (contact_id) como con el comando SQL siguiente: -

Permisos
Cmo funciona el sistema de privilegios El sistema de privilegios de MySQL asegura que todos los usuarios pueden ejecutar slo la operacin permitida a los mismos. Como usuario, cuando conecta a un servidor MySQL, su identidad se determina mediante el equipo desde el que se conecta y el nombre de usuario que especifique. Cuando efecte peticiones tras conectar, el sistema le otorga privilegios acorde a su identidad y lo que quiera hacer. MySQL considera tanto su nombre de usuario y su equipo a la hora de identificarle, ya que no hay razn para asumir que un nombre de usuario pertenece a la misma persona en cualquier sitio de Internet. Por ejemplo, el usuario joe que conecta desde office.com no tiene porqu ser la misma persona que el usuario joe que conecta desde elsewhere.com. MySQL trata esto permitiendole distinguir usuarios en diferentes equipos que tienen el mismo nombre. Puede otorgar un conjunto de privilegios para conexiones de joe desde office.com, y un conjunto distinto para conexiones de joe desde elsewhere.com.

El control de acceso de MySQL implica dos etapas: Etapa 1: El servidor comprueba si debe permitirle conectarse. Etapa 2: Asumiendo que se conecta, el servidor comprueba cada comando que ejecuta para ver si tiene suficientes permisos para hacerlo. Por ejemplo, si intenta seleccionar registros de una tabla en una base de datos o eliminar una tabla de la base de datos, el servidor verifica que tenga el permiso SELECT para la tabla o el permiso DROP para la base de datos. Si sus permisos cambian (por usted mismo o alguien distinto) mientras est conectado, estos cambios no tienen porqu tener efecto inmediatamente para el siguiente comando que ejecute.

Ejemplo
CREATE TABLE `test1` ( contact_id INT(10), name VARCHAR(40), birthdate DATE, PRIMARY KEY (contact_id) ); - See more at: http://www.techrecipes.com/rx/377/create-a-mysql-table-with-aprimary-key/#sthash.ygFZr6NK.dpuf

Equipo 3
Integrantes Rivera reyes Mnica Guadalupe Martnez flores diana patricia Jimnez Hernndez Mara del Roco