ecom-6030 capÍtulo 9 creating web database prof. nelliud d. torres © - derechos reservados
TRANSCRIPT
ECOM-6030CAPÍTULO 9
CREATING WEB DATABASE
Prof. Nelliud D. Torres© - Derechos Reservados
CONTENIDO• CREAR UNA BASE DE DATOS• DEFINIENDO USUARIOS Y PRIVILEGIOS• SISTEMA DE PRIVILEGIOS• CREANDO TABLAS• CREANDO ÍNDICES• IDENTIFIERS Y TIPOS DE DATOS• EASY PHP
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 2
ESQUEMA DEL SISTEMA Book-O_Rama• Este esquema se encuentra en el capítulo 8.• Es otra forma de representar las tablas y sus relaciones.• Las palabras subrayadas son Primary Key (PK) y las itálicas
Foreign Key (FK).
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 3
Pag 217
ERD DEL SISTEMA Book-O_Rama• El ERD del esquema
anterior sería:• En el próximo slide
podemos comparar ambos diagramas.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 4
COMPARACIÓN SISTEMA Book-O-Rama
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 5
ACCEDER MySQL - Monitor• Los ejemplos del libro utilizan el command prompt a
nivel de la aplicación.• En el caso de MySQL se le conoce como Monitor• A continuación vamos a estudiar los comandos y a crear
las tablas explicando estos comandos que deben ser universales para la mayoría de las bases de datos.
• Más adelante explicaremos como utilizar el ambiente gráfico de EasyPHP
• Como laboratorio de la clase, se espar que podamos al menos crear la base de datos de Book-o-Rama
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 6
Pag. 219
MySQL - Monitor• Los ejemplos del libro utilizan el command prompt a nivel
de la aplicación.• En el caso de MySQL se le conoce como Monitor• A continuación vamos a estudiar los comandos y a crear
las tablas explicando estos comandos que deben ser universales para la mayoría de las bases de datos.
• Más adelante explicaremos como utilizar el ambiente gráfico de EasyPHP.
• No encontré la forma de correr el monitor en EasyPHP.• Como laboratorio de la clase, se espera que podamos al
menos crear la base de datos de Book-o-Rama
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 7
Pag. 219
MySQL – Monitor - Logging• Formato:
– mysql –h hostname –u username –p• mysql – Invoca el monitor de mysql• -h hostname – host al cual uno se quiere conectar (si esta remoto), de
estar en la misma computadora que tiene MySQL no hay que incluirlo.• -u username – nombre de la cuenta del usuario.• -p – Le indica al server que deseamos conectarnos a la cuenta utilizando
un password. No hay que poner el password ya que el servidor lo va a pedir.
• Una vez se entra, deba aparecer algo parecido a esta pantalla:
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 8
Pag. 219 - 220
MySQL – Monitor – Crear Base de Datos• Formato:
– create database dbname;
• dbname – Nombre de la base de datos que se desea crear.
• Para el ejemplo de libros lo podemos llamar BOOKS.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 9
Pag. 220
MySQL – Monitor – Usuarios• Necesitamos crear cuantas para que los usuarios pueda
acceder la base de datos.• Esto requiere trabajar con la seguridad de la base de datos
para determinar los tipos de accesos que se van a otorgar a cada usuario.
• MySQL incluye un sofisticado sistema de privilegios que permite otorgar privilegios a las cuentas entre otras cosas.
• Cuando creamos usuarios, necesitamos asignar privilegios.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 10
Pag. 221
MySQL – Monitor – Comando GRANT• GRANT:
– Permite asignar privilegios a los usuarios.– Existen 4 niveles de privilegios los cuales son:
• Global• Database• Table• Column
• En la figura se muestra el formato del privilegio. No se van a dar detalles de las opciones ya que pueden encontrarse en el libro de texto.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 11
Pag. 221
MySQL – Monitor – Tipos Y Niveles de Privilegios
• Existen tres tipos básicos de privilegios:– Usuarios regulares – Sólo deben tener privilegios a las bases de datos
y tablas que necesitan trabajar.– Administradores – Acceso a nivel de MySQL.– Privilegios especiales – Para situaciones especiales.
• En los próximos slides se muestran ejemplos de privilegios que se pueden otorgar a los usuarios, administradores y los especiales.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 12
Pag. 223
MySQL – Monitor – Privilegios de Usuario
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 13
Pag. 223
MySQL–Monitor–Privilegios Administrador
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 14
Pag. 224
MySQL–Monitor–Privilegios Especiales
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 15
Pag. 225
A continuación se va a explicar el formato del comando REVOKE que a diferencia del GRANT, quita privilegios a la cuenta afectada.
MySQL – Monitor – Comando REVOKE
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 16
Pag. 225
A continuación Se muestran ejemplos de GRANT y REVOKE que ayudan a aclarar el uso de estos comandos.
MySQL–Monitor–Ejemplos–GRANT/REVOKE
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 17
Pag. 225
En el próximo slide se muestran más ejemplos:
MySQL – Monitor – Más Ejemplos
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 18
Pag. 226
MySQL – Monitor – Usuario WEB
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 19
Pag. 226
Los privilegios que normalmente se asigna a un usuario Web son:
A continuación se indica como crear tablas en la base de datos.
MySQL – Monitor – SQL para crear Tablas
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 20
Pag. 228 - 229
De las páginas 230 a la 231 se explican las instrucciones que se incluyen en el comando CREATE:
MySQL – Monitor – SHOW y DESCRIBE
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 21
Pag. 231 - 232
• SHOW TABLES; - Permite ver las tablas creadas en la base de datos.
• SHOW DATABASE; - Muestra un listado de las bases de datos (si se tiene el privilegio).
• DESCRIBE BOOKS; - Muestra la estructura de la tabla books. Generalmente incluye el nombre del campo, el tipo de dato, si es PK, si es nulo y comentarios.
MySQL – Monitor – Creación de Índices
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 22
Pag. 232 - 233
• Cuando se crea el PK de una tabla, automáticamente se crea un índice. • Ocasionalmente hay atributos en la tabla que se utilizan mucho y no son PK. A estos atributos se le recomienda ponerle un índice. Formato:
MySQL – Monitor – Creación de Índices
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 23
Pag. 232 - 233
• Cuando se crea el PK de una tabla, automáticamente se crea un índice. • Ocasionalmente hay atributos en la tabla que se utilizan mucho y no son PK. A estos atributos se le recomienda ponerle un índice. Formato:
MySQL – Monitor – MySQL Identifiers
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 24
Pag. 233
• Existen 5 tipos de Identifiers, estos son:• databases• tablas• columnas• índices• alias
• De acuerdo al Sistema Operativo, se pueden determinar las reglas a seguir para asignar nombres.• Por ejemplo si el Sistema Operativo no es case sensitive, los nombres de bases de datos y tablas no lo serán tampoco.•La figura 9.4 muestra un resumen de posibles Identifiers.
MySQL – Monitor – MySQL Identifiers
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 25
Pag. 234
•
MySQL – Monitor – Column Data Types
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 26
Pag. 234
• Existen tres tipos básicos de columnas:– numeric – Se compone de enteros o números reales– date and time – Provee varios formatos para trabajar fechas y/o horas.– string – Se divide en 3 categorías:
• TEXTO CORTO– CHAR– VARCHAR
• TEXT & BLOB• SET & ENUM
• Dentro de cada categoría existen varias sub-divisiones• A continuación se muestran los ejemplos de cada categoría.
MySQL – Monitor – Numeric Data Types
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 27
Pag. 235
MySQL – Monitor – Numeric Data Types-2
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 28
Pag. 236
MySQL – Monitor – Date & Time Data Types
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 29
Pag. 237
MySQL – Monitor – Strings Data Types
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 30
Pag. 238
MySQL – Monitor – Strings Data Types - 2
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 31
Pag. 239
EASY PHP
• A continuación se muestran algunas ideas para trabajar el ambiente gráfico de Easy PHP.
• No pude encontrar una forma de caer en Monitor (Prompt) en este producto.
• Sin embargo prácticamente todos los comandos a nivel de prompt tienen una forma de ejecutarse en ambiente gráfico web.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 32
EASY PHP - 1• Para poder manejar la base de datos, se selecciona la opción de Administración
(CTRL+A) que se encuentra al dar right-click al icono de EasyPHP.
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 33
EASY PHP - 2• Se selecciona la opción: MySQL MANAGER
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 34
EASY PHP - 3
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 35
Muestra las bases de datos creadas.
Crear una Base de Datos
EASY PHP - 4
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 36
Tablas de la Base de Datos
Crear una nueva tabla en la Base de Datos.
EASY PHP - 5
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 37
Para correr queries en la Base de Datos
EASY PHP - 6
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 38
Para crear queries elaborados
LABORATORIO 1
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 39
• Crear la Base de Datos que muestra el libro utilizando EasyPHP
• Si el estudiante tiene otra herramienta distinta, la puede utilizar.
• Un posible tercer proyecto para entregar puede ser el crear la base de datos de la aplicación que se va a entregar.
• Antes de crear la base de datos de su aplicación, hay que hacer y entregar el ERD
Pag. 197
REFERENCIAS
• PHP and MySQL Web Development, Third Edition, Luke Welling, and Laura Thomson
• http://www.easyphp.org/
• http://www.mysql.com
8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 40