<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">El 17 de junio de 2013 10:32, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola Marco,<br>
<br>
El dom, 16-06-2013 a las 22:00 -0300, Marco Riedel escribió:<br>
<div class="im">> Hola Leo te paso el primer ejercicio para ver si esta bien y no hacer<br>
> todos bajo un concepto erróneo.<br>
<br>
</div> En general, sé más generoso con el ancho de los varchar: el espacio en<br>
disco es barato y dos nombres no caben en 20 caracteres.<br>
Lo de poner un teléfono como un entero tiene sus cuestiones, pero las<br>
charlamos en clase.<br>
Para las preguntas y respuestas parece más adecuado un campo text que<br>
un varchar, pero en cualquier caso solo 50 char es muy poco!<br></blockquote><div style>Modificado </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Respecto de las claves, te cuento:<br>
<br>
En Clientes elegiste usar una clave primaria artificial (el ID entero),<br>
pero en otras tablas estás usando una clave primera natural, y no es<br>
buena idea mezclar ambos tipos de clave: o todas naturales, o todas<br>
artificiales.<br></blockquote><div style>Por lo general uso DNI como clave natural pero no estaba en el ejercicio por eso agregué id_cliente. En los paises/provincias/ciudades/ al Id_ le pongo el nombre porque asi queda el registro en el usuario, si todas tienen que ser artificiales en el cliente quedaría un numero en el campo ciudad por ejemplo. </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Respecto de las claves primarias, en caso de ser naturales, no sirve tu<br>
definición para ciudades (tenemos en Argentina 3 "Mar Chiquita" y tu<br>
almacenamiento soporta solo una, salvo que el PFK se refiera a que<br>
además de clave foránea, también es clave primaria junto con la que<br>
identificás con PK). Te pasa lo mismo con las Provincias, que en algunos<br>
países se repiten nombres de estados.<br></blockquote><div style>Claro serian claves primarias combinadas, no se podrían poner dos Mar Chiquita en Buenos Aires. Me parece la mejor manera de evitar duplicaciones si las carga un operador, lo que no quita que te escriban MChiquita pero eso se validaría desde código no?</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Respecto de la normalización, te cuento:<br>
<br>
En Clientes, el Código Postal no depende de él, sino de la Ciudad. Si<br>
lo estás pensando como el nuevo CPA, el campo tiene el nombre<br>
equivocado, pero aún así por 3FN al no depender únicamente de la clave<br>
primaria, tampoco va ahí.<br></blockquote><div style>Yo pensé que dependía de la dirección porque por ejemplo en Capital Federal seria la misma ciudad pero varios códigos postales. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Tampoco van Id_provincia ni Id_pais, ya que vía la Ciudad se establecen<br>
las relaciones para hallarlos.<br></blockquote><div style>Si me parecía redundante a mi también. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
La tabla Consultasxusuario está bien, pero introducís como nombre de<br>
campo "usuario", que no es parte de este problema. Debería decir<br>
"cliente", que es como llamaste a la entidad que tiene el nombre y el<br>
apellido: la semántica es relevante.<br></blockquote><div style>Modificado </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
> Clientes<br>
> id_cliente (int, identity,PK,NN)<br>
> Nombre (Varchar50, NN)<br>
> Apellido (Varchar 50, NN)<br>
> F_Nac (Date, NN)<br>
> Direccion (Varchar 50)<br>
> telefono (Int)<br>
> E_mail (Varchar 50)<br>
> Id_ciudad(FK, int, NN)<br>
> C_Postal (Int)<br>
> <br>
> <br>
><br>
><br>
><br>
> Paises<br>
> id_pais (PK, Unique, NN, Varchar 50)<br>
><br>
><br>
><br>
> Provincias<br>
> Id_provincia (PK, Unique, NN,Varchar 50)<br>
> Id_pais (PFK, NN)<br>
><br>
><br>
><br>
> CiudesxProvincia<br>
> Id_ciudad (PK,NN,Varchar 50)<br>
> Id_provincia (PFK,NN)<br>
><br>
><br>
><br>
> Consultasxusuario<br>
> Id_consulta (PK, identity, int, NN)<br>
> Id_cliente (FK,NN)<br>
> Pregunta (text, NN)<br>
> Respuesta (text)<br>
> id_estado (FK,Int,NN)<br>
><br>
><br>
><br>
> Estados_consultas<br>
> Id_estado (PK,Identity, Int,NN)<br>
> descripcion (Varchar50, Unique, NN)<br>
><br>
><br>
><br>
><br>
> El 15 de junio de 2013 12:00, Leonardo Tadei - Pegasus Tech Supply<br>
> <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>> escribió:<br>
> Buenas!<br>
><br>
> armé algunos ejercicios de normalización.<br>
> Dada la importancia del tema y teniendo en cuenta que<br>
> el próximo Jueves<br>
> por ser feriado no tenemos clase, les pido que los resuelvan y<br>
> vayan<br>
> enviando resultados y dudas por la lista, para ver cómo llevan<br>
> la<br>
> cuestión... sobre todo a los que no pudieron estar en clase.<br>
><br>
> Si tienen dudas de contexto, consulten!<br>
><br>
><br>
> 1) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: Nombre, Apellido, Fecha de Nacimiento,<br>
> Dirección,<br>
> Teléfono, e-mail, Ciudad, Código Postal, Provincia, País,<br>
> Consulta<br>
> Realizada (pregunta), Respuesta a la Consulta, Estado de la<br>
> Consulta<br>
> (Pendiente, Respondida, Descartada)<br>
><br>
> 2) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: nombres, apellidos, dirección principal,<br>
> dirección<br>
> alternativa, teléfono, ciudad, código postal, provincia y<br>
> país.<br>
><br>
> 3) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: Nombre, Apellido, Dirección, Teléfono,<br>
> e-mail,<br>
> Pedidos, Valor del Pedido, Items del Pedido, Pago del pedido.<br>
><br>
> 4) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: nombres del paciente, apellidos del<br>
> paciente, fecha de<br>
> la consulta, médico que lo atendió (nombre, apellido y<br>
> especialidad),<br>
> notas de la consulta, centro de salud (nombre, dirección,<br>
> ciudad)<br>
> ----<br>
> 5) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: Nombre, Apellido, Dirección, Teléfono,<br>
> Categoría<br>
> Impositiva, Lista de Precios, Cod Artículo, Nombre Artículo,<br>
> Precio,<br>
> Tasa de IVA, Nro de Sucursal, Nro de Factura, Fecha, Cliente,<br>
> Cant de<br>
> Articulos, Artículos, Forma de Pago.<br>
><br>
> 6) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: Título del Libro, ISBN, Crítica del Libro,<br>
> Autores del<br>
> Libro, Editorial, Edición. Librería, Cantidad de Libros en la<br>
> Librería.<br>
><br>
> 7) Crear las tablas necesarias en tercera forma normal para<br>
> guardar los<br>
> siguientes datos: Nombre del Foro, Nick del Usuario, Nombre<br>
> del Usuario,<br>
> Apellido del Usuario, e-mail del Usuario, Entrada en el foro,<br>
> Comentario<br>
> a la entrada en el foro. (Nota, las entradas deben poder verse<br>
> con sus<br>
> comentarios, y se permite poner comentarios a los comentarios.<br>
> Las<br>
> Entradas y los comentarios muestran su autor)<br>
><br>
><br>
> --<br>
> Leonardo Tadei<br>
> <a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
> Web: <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
> Firma pública:<br>
> <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
><br>
> _______________________________________________<br>
> Php-avanzado mailing list<br>
> <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
> <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
><br>
><br>
> _______________________________________________<br>
> Php-avanzado mailing list<br>
> <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
> <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
<br>
--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
Web: <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
</div></div></blockquote></div><br></div></div>