Parametrización de llaves foráneas en nuestras tablas de sql. CONTACTO: informaticonfig@gmail.com COLABORACION: paypal.me/informaticonfig patreon.com/informaticonfig
Gracias por tu visita y participar en este curso, si te gusta por favor subscríbete, dame tu like y comparte para seguir creciendo y publicando mas lecciones, esto me ayudaría mucho. Tambien para recibir las notificaciones de las nuevas lecciones que iré subiendo paulatinamente CONTACTO: informaticonfig@gmail.com COLABORACION: paypal.me/informaticonfig patreon.com/informaticonfig
3:45 SI ustedes ya crearon una tabla y quieren agregarle una Primary key, deben de primero hacer que el campo al cual quieren ponerle una pk deben convertirlo a not null, usando Alter table "NombreTabla alter column "NombreCampo" int not null; y luego de eso deben de usar: Alter table "NombreTabla" add constraint PK_"NombreDelPk" primary key ("NombreCmapo"); No usen las comillas que le puse en NombreDe, solo es referencia.
Hola. en 14:54 el error se debe a que la tabla Ordenes no acepta valores Null en la columna id_orden y no necesariamente xk se haya duplicado el valor 1 en la columna id_cliente (al menos eso se ve en la consola del video). Saludos
Profesor, según entiendo la PK de la tabla clientes, es PK en esa tabla clientes, pero es distinto en la tabla ordenes debido a que en esta tabla pasa a ser una llave foránea, creo que es de esta manera, porque al momento de insertar estos datos en mi tabla ordenes: insert into ordenes values(1, 'Martillo', 1); insert into ordenes values(2, 'Pala', 1); No me da ningún error. Agradeceria me pueda corregir. Muchas gracias.@@informaticonfig333
@@informaticonfig333 Efectivamente es por el null, porque reemplacé el dos como mencionas en el null para sierra al cliente con id 1 y lo dejó agregar sin problema, aprovecho para agradecerte nuevamente por tan valioso contenido, realmente he aprendido bastante contigo profesor. "insert into Ordenes values(2,'Sierra',1);"
a mi solamente me permite esto create table articulos( id_articulo int, id_cliente int, articulo varchar(20), constraint FK_ID_CLIENTE foreign key (id_cliente) references clientes(id_cliente) ); porque si pongo constraint FK_ID_CLIENTE foreign key references clientes(id_cliente) el id cliente despues del foreing key, no se a que se deba, lo dejo por si les pasa, saludos.
Hola Profesor, a mi si me permite ingresar valores duplicados ID_Cliente de la tabla ordenes, la única observación que me lanza en no usar NULL en ID_Orden
Mucho gusto docente, una consulta en el minuto 14:55. Cuando inserto estos valores en mi tabla ordenes: insert into ordenes values(1, 'Martillo', 1); insert into ordenes values(2, 'ejemplo', 1); No me da ningun error. Pero usted menciona que " esto no se puede debido a que ese valor existe en la tabla id_cliente no se puede repetir ese campo porque tiene una restriccion de llave foranea que esta enlazado a una llave primaria que no permite valores duplicados. " Le rogaria que me confirme si lo que menciono es correcto o quizas hubo algun tipo de error, menciono esto porque esas inserciones que hice a la tabla ordenes no me dieron ningun error. Agradesco de antemano su tiempo.
si, creo que lo había aclarado: el error es que puse null en el campo id_orden, si lees bien ese es el mensaje ,no el valor 1, tu estas correcto, el error es mío ,tratar é de corregir el video mas adelante.
hola Franco, si dominas todas las lecciones, quedarías, digamos intermedio, ya cuando apliques en lo laboral escalarías a avanzado y el tiempo y la experiencia te llevarán a experto.
Buenas tardes, una consulta por favor. create table clientes( id_cliente int, nombre varchar(20) not null, apellido varchar(30) not null, edad int not null, constraint PK_clientes primary key (id_cliente) ); al poner eso no me da error, pero al momento de poner esto: create table ordenes( id_orden int not null, articulo varchar(50) not null, id_cliente int, constraint FK_ordenes_clientes foreign key references clientes(id_cliente) ); si me da error, me di cuenta que el problema esta en la coma del ultimo atributo el cual es el id_cliente. Si le quito esa coma no me da error, esto porque sucede? y porque en la otra tabla no sucede eso al colocar el ultimo atributo con una coma y seguidamente el constraint no me da error. Por favor ayudenme.
hola supongo que es por que en la tabla clientes estas creadno una regla para un campo de una tabla que aún no existe, en el segundo caso no es así, repito es extraño pero creo que se trata de eso.
Profe buenos días! tengo una consulta. Cuando usamos el : ON DELETE CASCADE también podemos registrar varias ordenes con el mismo Id_Clientes? quiero decir que si el cliente hace varias compras con el ON DELETE CASCADE podemos permitirlo? estoy un poco confundido!!
Buenas tardes tengo una duda estuve probando en relacionar tablas y cuando escribia este codigo... constraint FK_Profesional foreign key references tbIJugador(DNI) me decia que estaba mal , constraint FK_Profesional foreign key (DNI) references tbIJugador(DNI) me indicaba que la manera correcta era escribirla como esta ultima osea que despues de foreign key tenia que especificar la columna con la cual se relacionaban las tablas (DNI)
Gracias por tu visita y participar en este curso, si te gusta por favor subscríbete, dame tu like y comparte
para seguir creciendo y publicando mas lecciones, esto me ayudaría mucho.
Tambien para recibir las notificaciones de las nuevas lecciones que iré subiendo paulatinamente
CONTACTO: informaticonfig@gmail.com
COLABORACION: paypal.me/informaticonfig
patreon.com/informaticonfig
3:45 SI ustedes ya crearon una tabla y quieren agregarle una Primary key, deben de primero hacer que el campo al cual quieren ponerle una pk deben convertirlo a not null, usando
Alter table "NombreTabla
alter column "NombreCampo" int not null;
y luego de eso deben de usar: Alter table "NombreTabla" add constraint PK_"NombreDelPk" primary key ("NombreCmapo");
No usen las comillas que le puse en NombreDe, solo es referencia.
Hola. en 14:54 el error se debe a que la tabla Ordenes no acepta valores Null en la columna id_orden y no necesariamente xk se haya duplicado el valor 1 en la columna id_cliente (al menos eso se ve en la consola del video). Saludos
quita ese null y coloca otro valor por ejemplo un 2, e intenta hacer el insert a ver que pasa.
Profesor, según entiendo la PK de la tabla clientes, es PK en esa tabla clientes, pero es distinto en la tabla ordenes debido a que en esta tabla pasa a ser una llave foránea, creo que es de esta manera, porque al momento de insertar estos datos en mi tabla ordenes:
insert into ordenes values(1, 'Martillo', 1);
insert into ordenes values(2, 'Pala', 1);
No me da ningún error.
Agradeceria me pueda corregir. Muchas gracias.@@informaticonfig333
@@CuentaLaboral-w7m tambien tuve esa duda ya me di cuenta es el NULL
@@informaticonfig333 Efectivamente es por el null, porque reemplacé el dos como mencionas en el null para sierra al cliente con id 1 y lo dejó agregar sin problema, aprovecho para agradecerte nuevamente por tan valioso contenido, realmente he aprendido bastante contigo profesor. "insert into Ordenes values(2,'Sierra',1);"
a mi solamente me permite esto create table articulos(
id_articulo int,
id_cliente int,
articulo varchar(20),
constraint FK_ID_CLIENTE foreign key (id_cliente) references clientes(id_cliente)
);
porque si pongo constraint FK_ID_CLIENTE foreign key references clientes(id_cliente) el id cliente despues del foreing key, no se a que se deba, lo dejo por si les pasa, saludos.
Hola Profesor, a mi si me permite ingresar valores duplicados ID_Cliente de la tabla ordenes, la única observación que me lanza en no usar NULL en ID_Orden
muchas gracias por tus videos!! finalmente estoy logrando aprender sql de forma rápida y sencilla 😁
me alegra saber eso Karen
Muy buen video, estaba equivocandome al momento de ingresar los datos y ese constraint me habia olvidado poner
Que buen maestro.
bienvenido Wilson
Talvez me estoy adelantando pero qui también se explicara como conectar SQL SERVER a C#? dejando eso de lado buen curso
hola Cristian, para una próxima actualizacion aprenderemos a hacer eso. Gracias.
Mucho gusto docente, una consulta en el minuto 14:55.
Cuando inserto estos valores en mi tabla ordenes:
insert into ordenes values(1, 'Martillo', 1);
insert into ordenes values(2, 'ejemplo', 1);
No me da ningun error. Pero usted menciona que " esto no se puede debido a que ese valor existe en la tabla id_cliente no se puede repetir ese campo porque tiene una restriccion de llave foranea que esta enlazado a una llave primaria que no permite valores duplicados. "
Le rogaria que me confirme si lo que menciono es correcto o quizas hubo algun tipo de error, menciono esto porque esas inserciones que hice a la tabla ordenes no me dieron ningun error. Agradesco de antemano su tiempo.
si, creo que lo había aclarado: el error es que puse null en el campo id_orden, si lees bien ese es el mensaje ,no el valor 1, tu estas correcto, el error es mío ,tratar
é de corregir el video mas adelante.
Muchas gracias por la respuesta docente@@informaticonfig333 .
Hola como hace ese borrado de atrás para adelante? 17:42
te colocas al inicio del texto, luego con la tecla Delete vas borrando. Saludos
Muy buen curso profesor. Se puede agregar un foreign key con el alter table add constraint?
si, si se puede, inténtalo como práctica.
Buenas noches. si logro aprenden todo lo que nos enseña en esta clase, en que level de sql server podria estar, en el basico o intermedio?
hola Franco, si dominas todas las lecciones, quedarías, digamos intermedio, ya cuando apliques en lo laboral escalarías a avanzado y el tiempo y la experiencia te llevarán a experto.
Una consulta
Hola Profe, como se gestiona la asignación del foreign key al campo de una tabla desde interfaz de sql server ? muchas gracias
hola Federico detallame mejor tu pregunta.
Entonces en conclusión no puedo hacer un UPDATE? no hay manera?
hola Paxo, detalla mejor tu pregunta?
Buenas tardes, una consulta por favor.
create table clientes(
id_cliente int,
nombre varchar(20) not null,
apellido varchar(30) not null,
edad int not null,
constraint PK_clientes primary key (id_cliente)
);
al poner eso no me da error, pero al momento de poner esto:
create table ordenes(
id_orden int not null,
articulo varchar(50) not null,
id_cliente int,
constraint FK_ordenes_clientes foreign key references clientes(id_cliente)
);
si me da error, me di cuenta que el problema esta en la coma del ultimo atributo el cual es el id_cliente. Si le quito esa coma no me da error, esto porque sucede? y porque en la otra tabla no sucede eso al colocar el ultimo atributo con una coma y seguidamente el constraint no me da error. Por favor ayudenme.
hola supongo que es por que en la tabla clientes estas creadno una regla para un campo de una tabla que aún no existe, en el segundo caso no es así, repito es extraño pero creo que se trata de eso.
Muchas gracias maestro.@@informaticonfig333
Profe buenos días! tengo una consulta. Cuando usamos el : ON DELETE CASCADE también podemos registrar varias ordenes con el mismo Id_Clientes? quiero decir que si el cliente hace varias compras con el ON DELETE CASCADE podemos permitirlo? estoy un poco confundido!!
Creo que ya lo resolví profe :D
@@MichaelQuitian-pc4hj Hola Michael, que bueno que lo resolviste, adelante!.
Buenas tardes tengo una duda estuve probando en relacionar tablas y cuando escribia este codigo... constraint FK_Profesional foreign key references tbIJugador(DNI) me decia que estaba mal , constraint FK_Profesional foreign key (DNI) references tbIJugador(DNI) me indicaba que la manera correcta era escribirla como esta ultima osea que despues de foreign key tenia que especificar la columna con la cual se relacionaban las tablas (DNI)
hola adrian por favor si puedes mandame captura de tu error a informaticonfig@gmail.com
@@informaticonfig333 listo ya esta enviado