normalizacion (soy super nueva en bases de datos)

Iniciado por Beginner Web, 18 Noviembre 2018, 16:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Beginner Web

Alguien podria enseñarme a normalizar tablas en la primera, segunda y tercera forma?  :huh:
7w7

EdePC


Beginner Web

No es lo que busco, esta bastante incompleto ademas anoche aprendí a normalizar, gracias igual   :laugh:
7w7

EdePC

- 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.

Beginner Web

#4
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í
7w7

ThunderCls

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
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/

Hadess_inf

Cita de: 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í

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 (sql) [Seleccionar]
CREATE TABLE AREA
(
  ID INT IDENTITY,
  NOMBRE VARCHAR(50),
  CONSTRAINT PK__AREA PRIMARY KEY (ID),
  CONSTRAINT CK__AREA___NOMBRE_NO_NULO CHECK (NOT NOMBRE IS NULL)
)
GO


Segundo la tabla asignatura:

Código (sql) [Seleccionar]
CREATE TABLE ASIGNATURA
(
  ID INT IDENTITY,
  NOMBRE VARCHAR(100),
  IDAREA INT,
  CONSTRAINT PK__ASIGNATURA PRIMARY KEY (ID),
  CONSTRAINT FK__ASIGNATURA FOREIGN KEY (IDAREA) REFERENCES TB__AREA (ID)
)
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 ¡¡¡

manwan

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:



Beginner Web

Cita de: 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
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.
7w7

manwan

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