[bofhers] Re: [bofhers] Re: [bofhers] Re: [bofhers] Re: [bofhers] Re: [bofhers] Problemilla con diseño de BD SQL Server 2008 (para el cole)

  • From: Autoestopista El <autoestopistael@xxxxxxxxx>
  • To: bofhers@xxxxxxxxxxxxx
  • Date: Fri, 15 Mar 2013 10:13:47 +0100

Seguramente sí, estoy seguro. Pero hoygan, las cosas académicas es lo que
tienen.

El 15 de marzo de 2013 10:08, TarodBOFH <bofh@xxxxxxxxxxxxx> escribió:

> Lo malo es que seguramente en el MundoReal(tm) sería un suspenso como un
> piano xD
>
>
> 2013/3/15 Alex Lorenzo <alex.lorenzoe@xxxxxxxxx>
>
>> Ya está El Autoestopista es el típico empollón que siempre llora que no
>> sabe nada y después te saca el sobresaliente....
>>
>>
>> El 15 de marzo de 2013 09:55, Autoestopista El <autoestopistael@xxxxxxxxx
>> > escribió:
>>
>> Buenas chicos,
>>>
>>> Solo deciros que ya he entregado el trabajo, y me han puesto un 10 :)
>>> Gracias por la orientación, me ha sido realmente muy util.
>>>
>>> Un saludo.
>>>
>>> El 14 de marzo de 2013 19:40, Autoestopista El <
>>> autoestopistael@xxxxxxxxx> escribió:
>>>
>>>> Vale si, da un fallo porque he llamado a un elemento de una tabla antes
>>>> de definirla. Cosas que pasas :D
>>>>
>>>> El 14 de marzo de 2013 19:21, Autoestopista El <
>>>> autoestopistael@xxxxxxxxx> escribió:
>>>>
>>>> La fecha de devolucion solamente la manejo en caso de prestamos al
>>>>> exterior, para los prestamos de sala se asume que es la misma fecha en que
>>>>> se presta. Así que opto por manejar los prestamos exteriores y sus fechas
>>>>> de devolucion aparte, en la tabla prestamo_externo. Que a lo mejor no es 
>>>>> la
>>>>> mejor opción, pero bueno, a mi se me ha ocurrido así :)
>>>>>
>>>>> El 14 de marzo de 2013 08:07, TarodBOFH <bofh@xxxxxxxxxxxxx> escribió:
>>>>>
>>>>>> Para la integridad referencial tienes que tener en cuenta que
>>>>>> entidades tienen sentido unas sin otras y cuales no.
>>>>>>
>>>>>> Por ejemplo, un cliente puede no tener una dirección (si tienes
>>>>>> tablas clientes y otra direcciones), por lo que en ese caso ON_DELETE (en
>>>>>> dirección) --> SET NULL a cliente; mientras que una dirección sin cliente
>>>>>> no tiene sentido (ON_DELETE_CASCADE --> cliente)
>>>>>>
>>>>>> Otro ejemplo es permitir el borrado: No deberías borrar datos de
>>>>>> clientes que tengan compras. Aunque si la bbdd está bien hecha, INVOICES
>>>>>> siempre será una copia con todos los datos de los clientes y precios, y
>>>>>> tendrás columnas de referencia para agilizar las búsquedas (ojo, si tu 
>>>>>> caso
>>>>>> es para un ejercicio, esto que se *debe* hacer en la vida real no estaría
>>>>>> normalizado para el ejercicio!)
>>>>>>
>>>>>> ¿Es eso a lo que te refieres?
>>>>>>
>>>>>> En tu caso:
>>>>>> - Prestamo (te falta fecha de devolución? ) -> no podrías borrar un
>>>>>> socio que aún tiene préstamos sin devolver (o incluso borrar un socio con
>>>>>> préstamos antigios, ya que num_socio en prestamo es not null)
>>>>>> - Al borrar un libro --> en cascada cascada de  fondo (si borras el
>>>>>> libro, desaparece de fondo), etc.
>>>>>>
>>>>>>
>>>>>> 2013/3/14 Autoestopista El <autoestopistael@xxxxxxxxx>
>>>>>>
>>>>>>> Bueeeno, pues como comenté esta mañana ahí lo lanzo.
>>>>>>>
>>>>>>> Arresulta que tengo el siguiente diseño de una BD. Tiene los
>>>>>>> detalles justos requeridos según un enunciado (DiagramaER_corregido.vsd)
>>>>>>> del cual he sacado, normalizando y desnormalizando, el siguiente juego 
>>>>>>> de
>>>>>>> tablas (Tablas_corregido.vsd). Hay otros posibles, pero este es el mío.
>>>>>>>
>>>>>>> El caso es que he creado la BD según las especificaciones que me
>>>>>>> piden con este script (biblioteca.sql) y generado las tablas y sus
>>>>>>> relacions (foreign keys) con este otro (tablas.sql). Si, señores, me lo
>>>>>>> piden así de separadito. Como véis he definido un par de constraints 
>>>>>>> para
>>>>>>> las foreign keys y un UNIQUE para que me cuadrara una clave candidata.
>>>>>>> Todos los campos a NOT NULL de momento.
>>>>>>>
>>>>>>> Así que ahora me piden un tercer script que haga dos cosas:
>>>>>>>
>>>>>>> - Aplicar restricciones de integridad referencial.
>>>>>>> - Establecer que atributos admiten o no valores NULL.
>>>>>>>
>>>>>>> El caso es que no tengo muy claro en que me tengo que fijar para
>>>>>>> determinar el tema de la integridad referencial. Es decir, ¿que tengo 
>>>>>>> que
>>>>>>> tener en cuenta a la hora de aplicar una restricción? Supongo que no es
>>>>>>> tan difícil pero al final me ha vencido el tiempo y el pánico, y las 
>>>>>>> BBDD
>>>>>>> no son precisamente mi fuerte.
>>>>>>>
>>>>>>> Y ya podéis lartearme tranquilamente, que yo agacho la cabeza a la
>>>>>>> espera de vuestro aleccionamiento.
>>>>>>> --
>>>>>>> Lista de Correo #BOFHers - //www.freelists.org/list/bofhers
>>>>>>> Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
>>>>>>> ¡También tenemos un servidor IRC! irc.escomposlinux.org:6667 canal
>>>>>>> #BOFHers
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Lista de Correo #BOFHers - //www.freelists.org/list/bofhers
>>>>> Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
>>>>> ¡También tenemos un servidor IRC! irc.escomposlinux.org:6667 canal
>>>>> #BOFHers
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lista de Correo #BOFHers - //www.freelists.org/list/bofhers
>>>> Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
>>>> ¡También tenemos un servidor IRC! irc.escomposlinux.org:6667 canal
>>>> #BOFHers
>>>>
>>>
>>>
>>>
>>> --
>>> Lista de Correo #BOFHers - //www.freelists.org/list/bofhers
>>> Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
>>> ¡También tenemos un servidor IRC! irc.escomposlinux.org:6667 canal
>>> #BOFHers
>>>
>>
>>
>


-- 
Lista de Correo #BOFHers - //www.freelists.org/list/bofhers
Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
¡También tenemos un servidor IRC! irc.escomposlinux.org:6667 canal #BOFHers

Other related posts: