Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Beginner Web en 18 Noviembre 2018, 16:09 pm



Título: normalizacion (soy super nueva en bases de datos)
Publicado por: Beginner Web en 18 Noviembre 2018, 16:09 pm
Alguien podria enseñarme a normalizar tablas en la primera, segunda y tercera forma?  :huh:


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: EdePC en 18 Noviembre 2018, 19:47 pm
Saludos,

- Revísate esta documentación, es bastante entendible: https://ed.team/blog/normalizacion-de-bases-de-datos


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: Beginner Web en 20 Noviembre 2018, 07:07 am
No es lo que busco, esta bastante incompleto ademas anoche aprendí a normalizar, gracias igual   :laugh:


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: EdePC en 21 Noviembre 2018, 16:05 pm
- Normalizar puede llegar a ser muy complicado si no se conoce bien la funcionalidad real de cada tabla y como se va a llevar la Base de Datos. Requiere bastante práctica para hacerlo bien, aunque siempre se puede aplicar Normalización Genérica según "frías e inhumanas" reglas como dice la documentación que hice referencia.

- Tienes documentación que puedas compartir? porque buena documentación es complicada de hallar.


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: Beginner Web en 21 Noviembre 2018, 20:41 pm
No me sirvio, esta incompleto y todo mal, ya pregunte a mi profe y me dijo que esta mal que deje de buscar de internet, cuando tenga tiempo te dejo ejemplos de como se normaliza, saludos  :laugh:

Lo prometido es deuda aquí te dejo como se normaliza es un ejemplo corto pero eficiente

---------------------------------------------------------------------
|CodAsignatura | NombreAsignatura | IdArea | Nombre_Area |
---------------------------------------------------------------------
|  10245          | Programacion        | M200   |      Fisica       |
--------------------------------------------------------------------
|  10246          | Estadistica        | M201   |    Quimica    |
---------------------------------------------------------------------
|  10247          |  Algebra I              | M203   | Matematica    |
---------------------------------------------------------------------
|  10248          | Dibujo Tecnico       | M203   | Matematica    |
---------------------------------------------------------------------
|  10249          |  Sistemas                | M204   | Alimentos    |
---------------------------------------------------------------------
1FN

                ASIGNATURA
-----------------------------------------------------
|CodAsignatura | NombreAsignatura |  IdArea  |
-----------------------------------------------------
|  10245         | Programacion       | M200     |
-----------------------------------------------------
|  10246        | Estadistica               | M201     |
----------------------------------------------------
|  10247        | Algebra I               | M203     |
----------------------------------------------------
|  10248        | Dibujo Tecnico        | M203     |
---------------------------------------------------
|  10249        | Sistemas               | M204     |
---------------------------------------------------
#CodAsignatura->+NombreAsignatura,+IdArea,@IdArea
1FN
2FN
3FN

         AREA
----------------------------
| IdArea | Nombre_Area |
----------------------------
| M200   |      Fisica       |
----------------------------
| M201   |   Quimica      |
----------------------------
| M203   | Matematica   |
----------------------------
| M204   |  Alimentos    |
---------------------------
#IdArea->.+Nombre_Area
1FN
2FN
3FN

-----------------                              --------  
|ASIGNATURA |->|---------------||-| AREA |
-----------------                              --------  

Y bueno falta el diccionario de datos pero ya me aburrí


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: ThunderCls en 12 Diciembre 2018, 20:13 pm
Desde mi punto de vista, el consejo de tu profesor de no buscar nada en internet es totalmente invalido, aconsejarle a alguien que quiere aprender algo que no busque e investigue por su cuenta sino que espere a que se lo den todo masticado y como el profesor quiere y cuando quiere...en fin...cada cual con lo suyo.
El objetivo de la normalizacion de una bd relacional es evitar la redundancia de datos y proteger la informacion, sencillo. Cuando practiques lo suficiente y/o tengas mas experiencia podras diseñar bases de datos directamente normalizadas en 2FN, 3FN o incluso FNBC dependiendo de la complejidad del problema y de tus capacidades.
Saludos y suerte


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: Hadess_inf en 28 Diciembre 2018, 23:48 pm
No me sirvio, esta incompleto y todo mal, ya pregunte a mi profe y me dijo que esta mal que deje de buscar de internet, cuando tenga tiempo te dejo ejemplos de como se normaliza, saludos  :laugh:

Lo prometido es deuda aquí te dejo como se normaliza es un ejemplo corto pero eficiente

---------------------------------------------------------------------
|CodAsignatura | NombreAsignatura | IdArea | Nombre_Area |
---------------------------------------------------------------------
|  10245          | Programacion        | M200   |      Fisica       |
--------------------------------------------------------------------
|  10246          | Estadistica        | M201   |    Quimica    |
---------------------------------------------------------------------
|  10247          |  Algebra I              | M203   | Matematica    |
---------------------------------------------------------------------
|  10248          | Dibujo Tecnico       | M203   | Matematica    |
---------------------------------------------------------------------
|  10249          |  Sistemas                | M204   | Alimentos    |
---------------------------------------------------------------------
1FN

                ASIGNATURA
-----------------------------------------------------
|CodAsignatura | NombreAsignatura |  IdArea  |
-----------------------------------------------------
|  10245         | Programacion       | M200     |
-----------------------------------------------------
|  10246        | Estadistica               | M201     |
----------------------------------------------------
|  10247        | Algebra I               | M203     |
----------------------------------------------------
|  10248        | Dibujo Tecnico        | M203     |
---------------------------------------------------
|  10249        | Sistemas               | M204     |
---------------------------------------------------
#CodAsignatura->+NombreAsignatura,+IdArea,@IdArea
1FN
2FN
3FN

         AREA
----------------------------
| IdArea | Nombre_Area |
----------------------------
| M200   |      Fisica       |
----------------------------
| M201   |   Quimica      |
----------------------------
| M203   | Matematica   |
----------------------------
| M204   |  Alimentos    |
---------------------------
#IdArea->.+Nombre_Area
1FN
2FN
3FN

-----------------                              --------  
|ASIGNATURA |->|---------------||-| AREA |
-----------------                              --------  

Y bueno falta el diccionario de datos pero ya me aburrí

Hola, desde mi punto de vista esto no es normalización, te pondré un ejemplo bastante practico desde mi punto de vista:

Primero la tabla área:

Código
  1. CREATE TABLE AREA
  2. (
  3.  ID INT IDENTITY,
  4.  NOMBRE VARCHAR(50),
  5.  CONSTRAINT PK__AREA PRIMARY KEY (ID),
  6.  CONSTRAINT CK__AREA___NOMBRE_NO_NULO CHECK (NOT NOMBRE IS NULL)
  7. )
  8. GO

Segundo la tabla asignatura:

Código
  1. CREATE TABLE ASIGNATURA
  2. (
  3.  ID INT IDENTITY,
  4.  NOMBRE VARCHAR(100),
  5.  IDAREA INT,
  6.  CONSTRAINT PK__ASIGNATURA PRIMARY KEY (ID),
  7.  CONSTRAINT FK__ASIGNATURA FOREIGN KEY (IDAREA) REFERENCES TB__AREA (ID)
  8. )
  9. GO

a) Lo primero que debes tener en cuenta es el nombre de la columna (campo / field / etc), por ejemplo, ¿si estamos en la tabla AREA no te parece innecesario incluir el nombre de la tabla en el nombre de cada campo? (nombre_area, area_nombre, nombre_de_area, etc), ¿no seria mejor poner simplemente "NOMBRE"?

b) Otro punto importante es definir el identificador a cada tabla (ID, y usar IDTABLA cuando se hace un FK).

c) Pero claro, todo esto dependerá del programador.

Saludos ¡¡¡


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: manwan en 31 Diciembre 2018, 22:57 pm
Las bases de datos, para mi es tema sencillo. Tan sencillo que uno omite su complejidad.  :xD Al final te terminás aburriendo, es como usar comandos en CMD. Cuando te adentrás, más volvés al inicio.
Se que la forma correcta es añadir relaciones entre tablas, comparar registros entre más de una ubicación y añadir datos únicos. Nunca he escuchado de ninguna norma pero si de pasos a seguir y ya que estamos, todo es bienvenido   :laugh:




Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: Beginner Web en 2 Enero 2019, 03:42 am
Desde mi punto de vista, el consejo de tu profesor de no buscar nada en internet es totalmente invalido, aconsejarle a alguien que quiere aprender algo que no busque e investigue por su cuenta sino que espere a que se lo den todo masticado y como el profesor quiere y cuando quiere...en fin...cada cual con lo suyo.
El objetivo de la normalizacion de una bd relacional es evitar la redundancia de datos y proteger la informacion, sencillo. Cuando practiques lo suficiente y/o tengas mas experiencia podras diseñar bases de datos directamente normalizadas en 2FN, 3FN o incluso FNBC dependiendo de la complejidad del problema y de tus capacidades.
Saludos y suerte
Pues si investigué, es más encontre el mismo ejercicio en internet y cuando voy a a consultar me dicen que estoy buscando de internet, que no haga eso, y bueno ellos querian que hiciera a su forma, entonces lo hice y al final aprobé la materia.


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: manwan en 2 Enero 2019, 04:28 am
Cita de: Beginner
Pues si investigué, es más encontre el mismo ejercicio en internet y cuando voy a a consultar me dicen que estoy buscando de internet, que no haga eso, y bueno ellos querian que hiciera a su forma, entonces lo hice y al final aprobé la materia.

 ellos no varían entre versiones  :laugh: , yo había leído que la gente de informática si no cambia rápido se queda bastante atrás y bueno, pienso que ellos lo hacen así por tema de hacerte pensar lo que te dan, para no criticarlo. Pero siempre hay que investigar y procesar la información por uno mismo cuando no hay exámenes, es lo que la mayoría gente valiente, decidida y que le gusta aprender hace para realizarlo en ambientes dinámicos


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: EdePC en 2 Enero 2019, 12:42 pm
Pues si investigué, es más encontre el mismo ejercicio en internet y cuando voy a a consultar me dicen que estoy buscando de internet, que no haga eso, y bueno ellos querian que hiciera a su forma, entonces lo hice y al final aprobé la materia.

- Es que es así, al final se tiene presentar las tareas como indica el profesor, este bien o mal no sé :xD.

- La teoría detrás del diseño de bases de datos es muy amplia, existen libros de cientos de páginas que indican técnicas, métodos, presentaciones y buenas prácticas para diseñar bases de datos.

- Es como hablar de diseño de Software, aquí se puede encontrar con algoritmos, presentación de un proyecto en UML, Diagramas de Flujo, Pseudocódigo, etc, así mismo se pueden diseñar Bases de Datos, en modelos relacionales, no relacionales, modelos físicos, modelos lógicos, modelo entidad relación, arquitectura de tres niveles, modelado jerárquico o árbol, modelado en red o malla, modelado funcional, etc, etc.

-- Al final el programador va entender SQL y ya  :xD

http://eolo.cps.unizar.es/docencia/DBDR/VisionGeneralDeBDs.pdf
https://www.inf.usi.ch/faculty/soule/teaching/2014-spring/07_Logical_Design_With_Normalization.pdf
http://corpgov.crew.ee/Materjalid/Database%20Systems%20-%20Design,%20Implementation,%20and%20Management%20(9th%20Edition).pdf
http://184.168.171.185/BOOKS/DVD%201/Beginning%20Database%20Design%20-%20Gavin%20Powell.pdf

https://www.oreilly.com/library/view/basic-relational-database/9781838557201/


Título: Re: normalizacion (soy super nueva en bases de datos)
Publicado por: ThunderCls en 29 Enero 2019, 01:06 am
Pues si investigué, es más encontre el mismo ejercicio en internet y cuando voy a a consultar me dicen que estoy buscando de internet, que no haga eso, y bueno ellos querian que hiciera a su forma, entonces lo hice y al final aprobé la materia.

Pues felicidades!  ;-) ;)