-
Notifications
You must be signed in to change notification settings - Fork 0
/
NotasServer.txt
1832 lines (963 loc) · 35.7 KB
/
NotasServer.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
UnidadUno
Instalar el sqlServer de manera basica sin personalizar
Link de descarga
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Cualqueira de las 2 versiones el devoloper o el express
En este caso estaremos trabajando con el developer
Despues cuando tengamos la opcion bajamos el smms
Hacemos la instalacion por defecto
En nuestro costado nos sale el total de las bases de datos
Comando basico para crear una base de datos
------------------------
Conocimiento previos
Concepto de abstraccion
La abstracción es una capacidad intelectual que consiste en
separar un elemento de su contexto para analizarlo y hacerse
un concepto de este.
La palabra proviene del latín abstrahĕre, que quiere decir
‘arrastrar lejos’, ‘separar’ o ‘apartar’. De esta manera,
abstracción significa acción y efecto de apartar algo para
comprenderlo
Necesidad de abstraccion
Por lo tanto, el análisis de los
datos proporcionados por un
cliente, es crucial y medular para el
proyecto, así como su análisis
abstracción de los mismos.
• Un análisis erróneo, detonará un
proyecto deficiente y que no
cumpla al 100% con la satisfacción
del cliente
---------------------------------------------
Conceptos de bases de datos previos
Ejemplo categorizacion de una biblioteca falta de plasticidad y practicidad
DIFERENCIA ENTRE INFORMAICON Y DATOS
datos= corresponde a un registro de algo
informacion= conjunto de datos que recibe un valor agregado
BASE DE DATOS
Conjunto de informacion almacenada y consultada sistematicamente
facilmente escalable
nos permite a traves del poder de computo facilitar el uso de nuestra informacion
sistema gestor de base de datos
Una base de datos es una colección organizada de información
estructurada, o datos, típicamente almacenados
electrónicamente en un sistema de computadora. Una base de
datos es usualmente controlada por un sistema de gestión de
base de datos (DBMS). En conjunto, los datos y el DBMS, junto
con las aplicaciones que están asociados con ellos, se conocen
como un sistema de base de datos, que a menudo se reducen a
solo base de datos
Un Sistema Gestor de Base de Datos como Oracle o MySQL, son
los encargados de gestionar varias bases de datos y
potencializar su explotación con diferentes características.
Base de datos relacional
Una base de datos relacional es un tipo de base de datos que
almacena y proporciona acceso a puntos de datos relacionados
entre sí. Las bases de datos relacionales se basan en el modelo
relacional, una forma intuitiva y directa de representar datos
en tablas. En una base de datos relacional, cada fila de la tabla
es un registro con un ID único llamado clave. Las columnas de
la tabla contienen atributos de los datos, y cada registro
generalmente tiene un valor para cada atributo, lo que facilita
el establecimiento de las relaciones entre los puntos de datos.
nosotros tenemos datos
organizados en tablas con campos y registros
los campos hacen referencia a las columnas y las filas a los registros
el modelo entidad relacion son los sql(se explaya despeus)
------------------------------------------------------
Que es es el modelado y que es el DER
Diagrama de entidad relacion
un modelo de datos otorga los medios necesarios para una abstraccion
Modelo entidad relacion
Que es un metodo para diseñar base de datos que son implementados a traves de SGDB
este se reprensta a traves de diagramas y esta formado por varios elementos
El DER es el ultilizado para realizar el modelado entidad-relacion el cual pertenece al
UML
en este tenemos entidades atributos y relaciones
las ENTIDADES represetnan cosas u objetos
estos se representan como rectangulos
que tienen relacioens entre si
Luego los atributos
se presentan como ovalos
cada entidad tienen sus caracteristicas propias estas son las que dan sus atributos
-----------------------------------
Relaciones
1 a 1 uno a uno
1 a M uno a mucho
M a M Mucho a mucho
M a 1 Mucho a 1
Concepto de subtablas o intermedias para las relaciones de mucho a mucho
tenemos el verbo que es un rombo nos define la accion de union de una entidad con otra
ejemplo concesionaria
1 persona puede (tener = rombo) mucho autos relacion 1:M
tambien se puede encontrar la misma como 1:N o 1aN
----------------------------------------------
SQL es un lenguaje de programacion estandar para manejar una base de datos relacional
donde podemos hacer consultas modificaciones y crear tablas o columnas dentro de ellas
poder utilizar esa informacion
para esto tenemos un SGBD(sistemas gestor de base de datos) como intermediario
y de esta manera podemos conectar nuestro lenguaje con otro como seria c# java etc
es un lenguaje estable y que da bastante flexibiladad para el acceso a la base de datos
Tenemos dentro del SQL el lenguaje DDL
DATA DEFINITION LENGUAGE
define las estructuras
como van a ser las tablas como van a ser los regusitros etc
DML
DATA MANIPULATION LENGUAGE
nos permite una vez formada las tablas las consultas e interacciones con las mismas
DCL
data control lenguage
controlar los permisos de acceso a la base de datos relacionales
el lenguaje es estandar
TENEMOS TAMBIEN NOSQL
No necesitamos definiciones tan estrictas
podemos tener repeticiones y secucias diferentes
pero es porque se prioriza el rendimineto
ejemplo dynamodb
Podemos ver
en finanzas es ideal manejar bases de datos relacional
en entornos de altisima demanda como quzia puede ser mas util una no relacional
la diferencia es a gran gran escala
Los datos dominan en este momento
la informacion de machine learning de los trabajos mas solicitados nos sirven para
tener lo necesario
-------------------------------------
Explaye
DDL (Data definition lenguage)
proporcianos por el sistema de gestion y nos permite las divisiones de las estructuras
COMANDO
CREATE crear
ALTER alternar
DROP eliminar
RENAME cambiar el nombre
TRUNCATE eliminar todos los registros de una tabla
COMMENT deja un comentario en la tabla
DML DATA MANIPULATION LENGUAGE
Hacer consultas en los datos y modificaciones de los mismos
SELECT seleccionar de
INSERT insertar INTO
UPDATE actualizar usa SET
DELETE borrar
MERGE
CALL
EXPLAIN PLAN
LOCK TABLE
DCL DATA CONTROL LENGUAGE
Lenguaje de control de datos
permiten controlar el acceso a la base de datos
GRANT
REVOKE
TCL TRANSACTION CONTROL LENGUAGE
permite controlar el procedimiento de transacciones en la
COMMIT permiso a otra sesion
ROLLBACK solo funciona si non hiciste el commit
SAVEPOINT
SET TRANSACTION
------------------------------------
Ingreso al SQLSERVER
tenemos el nombre de nuestro usuario y podemos ver las situaciones de autenticacion correspondiente
tenemos la databases default
los login son los usuarios con los permisos
los triggers
la conexion realizada
si tocamos en conectar nos inicializa o termina la conexion
Ejecutamos en newQuery para poder desplegar la ventana de trabajo
Del lado derecho tenemos ventanas emergentes con informacion si nosotros seleccionamos
el view podemos acceder a mas vistas
si seguimos en la rama del master nos mantemos en una vacia central
-------------------------------------
Concepto de llaves primaria
este valor no puede estar en blanco
el mismo es un identificador unico para mis registros
no puede haber dos elementos de un registro con dos llaves primarias iguales
ejemplo
todos como personas tenemos un dni que seria nuestro identificador unico
Luego si tenemos ese metodo en otra tabla podemos establecer las relaciones aqui entra el
conceptro de llaves foraneas
Foreign key
Estas son llaves primarias que usamos en otras tablas para establecer las reclaciones
ejemplo
una persona que paga una cuenta y en la misma sale el numero de transaccion que seria
la llave primaria de la cuenta y se relaciona con la perosna con el dni de la perosna
la misma el Foreign key en la segunda tabla pese a ser llave primaria en la tabla persona
Podemos tener primary key simples y compuestas
-------------------------------------
Comentarios de una linea --
Comentarios de bloque /**/
-------------------------------
Creacion de una base de datos
grafica
pararnos en la base de datos
seleccionar new data base
poner el nombre
seleccionar las primary las variables, tamaño inicial como initial size
vemos el maxsize que se puede cambiar el como crece la base de datos y lo que puede alcanzar
la direccion de donde se va a guardar tambien esta presente
si tocamos un f5 nos hace el refresh
para elminar solo tocamos el f5
------------------------------------------------
Comando CREATE
(Por buena practica lo mejor es trabajar con las palabras reservadas en mayuscula
y el resto en minuscula)
Create database nombre de la tabla y cerramos con punto y coma ;
Ejemplo
//Escritura en camelCase
Create database baseDeDatosUno;
//Escritura en snake_case
Create database base_de_datos_uno;
Para crear una clase de prueba
igual si queremos crear una base de datos de manera completa
debemos hacer lo siguiente
debemos estar en el master
/*Ejemplo ejecucion completa*/
create database ventas
ON
primary
(
/*Primero pasamos el nombre que va a tener*/
name=ventas1primary,
/*Ubicacion del archivo*/
filename='D:\CURSOS TODOS\Clase Completas SQL\Server\DataBases\vantas1primary.mdf',
/*Tamaño*/
size=50MB,
/*Capacidad maxima almc*/
Maxsize=200,
/*Aumento*/
filegrowth=20),
filegroup ventas1FG
(
name=ventas1FG,
filename='D:\CURSOS TODOS\Clase Completas SQL\Server\DataBases\ventas1FG.ndf',
size=200MB,
Maxsize=800,
filegrowth=100)
Log on
(name=ventas1log,
filename='D:\CURSOS TODOS\Clase Completas SQL\Server\DataBases\ventas1log.ldf',
size=200MB,
Maxsize=800,
filegrowth=100)
si quisieramos borrar una base de datos
usamos el drop database nombreDataBase
en este caso deberiamos solo ejecutar
drop database Ventas1
Indicar sobre que seleccionar para el ejecutar
podemos usar le f5
---------------------------------------
Como crear una tabla
No debe haber tablas con nombre repetidos
A manera visual podemos hacerlo indicando con el id
Podemos hacerlo con click derecho new table
en vez de tener el aa o not null tenemos el all null
tenemos nvarchar como tipo de dato en vez de solo el varchar
podes hacer una tabla con
id
nombre
telefono
hacemos click derecho sobre el query y ponemos el Save y le damos un nombre en este caso
le damos el name Clientes
Podemos ver una vez recargado como cargar los datos de la tabla de manera manual
tocamos click derecho sobre la tabla en el apartado de tablas
y nos salen las columnas para completarla
lo cargamos le damos el close actulizamos y lo realiza automaticamente
Ahora vemos como cargarla mediante el lenguage
para hacerlo de forma escrita lo que hacemos es usar el create pero en vez de estar
en el master debemos estar parados en la base de datos donde la querramos crear
comando :
create table nombreTabla(
nombreDato tipoDato,
nombreDato tipoDato,
nombreDato tipoDato,
nombreDato tipoDato
)
Si queremos borrar una tabla lo hacemos con el drop abierto en el canal que correeponda
drop tbale nombreTabla
ejemplos
create table producto(
id int not null,
nombreProducto nvarchar(40),
descripcion nvarchar(200))
--------------------------
Alterar una tabla (Realizar correpndiente modificacion)
Podemos pasarle a una tabla ya construida mas datos con el tipo de los mismos determinados
recordar siempre aclarar si tiene que haber por lo mnenos una fila no nula con el not null
Caso de agreagar:
alter table nombreTabla
add
columnaNombre tipoDato nuliadad
Caso de borrar
alter table nombreTabla
drop column columnaNombre
alter table nombreTabla
alter
column columnaNombre tipoDato
------------------------------------
Primary key
Concepto de llave principal indicador unico que diferencia a cada elemento
La restricción PRIMARY KEY identifica de forma única cada registro en una tabla.
Las claves primarias deben contener valores únicos y no pueden contener valores NULL.
Una tabla solo puede tener una clave principal, que puede consistir en campos simples o múltiples.
para definirla nosotros vemos de seleccioanr en la apertura de la tabla y haceoms un set primary key
Para definirla desde el lenguaje podemos solo agregarle la palabra primary key cuadno cremaos el atributo y nos la crea demanera directa
Ejemplo
create table producto(
id int primary key not null,
nombreProducto nvarchar(40),
descripcion nvarchar(200))
-----------------------------------------
Tambien podemos usar la palabra alter que nos permite hacer las modificaicones corresponditenes
ALTER TABLE producto ADD precio int;
-----------------------------------------------------------------
Select y las vistas en las tablas
A modo visual tocamos en vieew
new view
y seleccionamos las columnas que queremos ver en las vistas
Instruccion SELECT
Objetivo traer el retorno
Traer todo de una base de datos
SELECT * FROM nombreBaseDatos ;
SELECT columna1,columna2,etc from database[tablaNombre];
select columna as renombreColumna from bd.[tabla];
si queremos ver menos datos
select top(cantidad de datos)* from nombreTabla
Practica solocitar la muestra de datos
10 tablas del adeventure
-------------------
Distinct la usamos para conocer datos unicos o diferentes
SELECT DISTINCT(columna) FROM bd.tabla;
esto nos va a traer el valor que puede tomar la columna
Ordenamiento por cada elemento que creamos
-----------------------------
Order by
Podemos ordenar de manera descendete o ascendete de manera que querramos
SELECT * FROM bd.tabla ORDER BY columna ASC; (Ordena ascendete)
SELECT * FROM bd.tabla ORDER BY columna DESC; (Ordena descendete)
Ordenamiento por cada elemento que creamos
Podemos tambien hacerlo por el metodo grafico con el sector sortby
en la herramienta grafica cuando ejecutamos podemos usar el ctrl R
------------------------------------
Uso del where
Desde la herramienta grafica del view podemos usarlo y nos devuelve el codigo
este uso se da con la columna indicada como fillteer
ejemplo tenemos hecha una lista con los datos de gaseosa descriopcioin nombre id y precio
queremos ver por el precio cuales son mayores a 65
SELECT TOP (100) PERCENT id AS identificador, nombreProducto AS [nombre del producto], descripcion, precio
FROM dbo.producto
WHERE (precio > 65)
ORDER BY precio DESC
esa es la estructura pero alcanza con ingresar >numero mayor en el filter
podemos ver que la estructura del where es despeus del from
y nos establece una condicion
Select nombrecolumna from nombreTabla WHERE CONDICION
Podemos ver como podemos ponerle dos condiciones concatenados por lo que seria un and y un or
SELECT TOP (100) PERCENT id AS identificador, nombreProducto AS [nombre del producto], descripcion, precio
FROM dbo.producto
WHERE (precio > 65) AND (id < 4)
ORDER BY precio DESC
SELECT TOP (100) PERCENT id AS identificador, nombreProducto AS [nombre del producto], descripcion, precio
FROM dbo.producto
WHERE (precio > 65) OR (id = 4)
ORDER BY precio DESC
Tener en cuenta el and y el or como condicionales en donde el AND toma los casos
donde las dos clausulas se cumplen y el OR toma los casos donde por lo menos una de las
dos clausulas se cumple
-------------------------
USO DEL INSERT
Podemos hacerlo con el select row de manera directa en la tabla
o podemos hacerlo con el bloque de codigo del insert
INSER INTO nombretabla(campos) values(valores)
forma reducida
INSERT INTO nombretabla values(valoresCompleto)
EJEMPLOS
INSERT INTO producto (id,nombreProducto,descripcion,precio)values(11,'Paso de los toros','gaseosa',75)
INSERT INTO producto values(12,'Fanta','gaseosa',70)
Recordar que solo podemos usar los id que sean diferentes , despues vamos a ver como hacerlo auto incremental
de cualquier forma no siempr es la mejor opcion debido a que no necesariamnete son asi
sino que puede ir generandolos el usuario, en cualquier situacion es relativo a cada caso
-----------------------------
Update
Actuliazacion de datos
Vamos a crear primero una nueva columna
en la ultima clase borramos la de descripicon
Si queremos actulizar desde el manual podemos ir al
desgin y cmabiarlo manual
despeus sino la forma real practica es con el update
Para enviar de forma general los datos
Update nombreTabla set nombreColumna='contenido'
Ejemplo
UPDATE producto SET descripcion='gaseosas';
si queremos cambiar una sola fila o algo de un dato en general usamos un g
Update nombreTabla set nombreColumna='contenido' where condicion;
Ejemplo
UPDATE producto SET descripcion='gaseosas' WHERE precio>=70;
----------------------------
Eliminacion de datos con el delete
Vemos primero como hacer una copia de la tabla y vemos el
Vemos que una vez que guardamos todo
si queremos ejecutar el borrado de una de las tablas podemos hacerlo con el
delete nombreTabla
en este caso
delete producto
vemos que podemos recuperar datos tambien
si usamos el Bulk
forma
Bulk
Insert nombre tabla
from 'direccion en el equipo'
with(firstrow=2, fieldterminator='Cierre suele ser ;',rowterminator='\n salto de linea ')
Osea vemos con que columna arrancar , con que terminan las filas y columnas
------------------------
between
nos deja seleccionar un archivo entre dos rangos
sintaxis
select * from nombreTabla where (columna between valor1 and valor2)
Ejemplo
SELECT * FROM producto WHERE(id between 1 and 4)
------------------------
LIKE
Uso del like nos sirve para hacer una busqueda sin necesidad de un igual
en este caso vemos sinaxis
SELECT * FROM nombreTabla WHERE columna like 'palabra' busca la palabra palabra
SELECT * FROM nombreTabla WHERE columna like '%palabra' lo que tenga desoues del texto palabra
SELECT * FROM nombreTabla WHERE columna like 'palabra%' lo que tenga palabra antes de texto
SELECT * FROM nombreTabla WHERE columna like '%palabra%' lo que tenga palabra entre dos texto
Ejemplos
Insert into producto values(5,'Paso de los toros','gaseosas especiales',80)
select * from producto where nombreProducto like '%toros'
select * from producto where nombreProducto like 'paso%'
select * from producto where nombreProducto like '%coca%'
------------------
IN
podemos usar para hacer seleccion el or y el and
pero lo mejor es usar el in
SELECT * FROM nombreTabla WHERE columna like '%palabra%' lo que tenga palabra entre dos texto
Ejemplo
select from producto where (condicion in(opciones ))
ejemplo
select * from producto where(id in(1,2,3,4))
-----------------------------------
Crear consultas multiples
estructura
usar los conectivos logicos
SELECT * FROM nombreTabla WHERE (condicon1) or (condicion2)
las condiciones puede tener complejitud como ser un like y un in etc
ejemplo
SELECT * FROM producto WHERE (id in(1,2,3))or (precio<=70)
-----------------------------
/*Crear una tabla haciendo referencia a una primary
key de otra tabla
*/
create table infocliente(
idPersona int foreign key(idPersona)/*Esto nos indica que esta sera la llave secuandaria */
references clientesNueva(id),/*Establecemos las realacion*/
/**/
direccion nvarchar(50),
cedula int not null)
--------------------------------
Combinacion de tablas o uso de los inner
en este caso vemos como podemos usar el inner para hacer la conexicon entre dos tablas
con la herramienta visual podemos ir a view y seleccionar dos tablas de manera directa nos va a dar la relacion entre las tablas
nos deja el codigo a modo de ejemlplo dejo el codigo generado
SELECT dbo.Clientes.id, dbo.producto.id AS Expr1, dbo.Clientes.nombre, dbo.producto.nombreProducto, dbo.producto.descripcion, dbo.Clientes.telefono, dbo.producto.precio
FROM dbo.Clientes INNER JOIN
dbo.producto ON dbo.Clientes.id = dbo.producto.id
las estructura seria
SELECT LoQueTraemos
FROM tabla INNER JOIN
tabla on relacion=relacion
Vemos las variantes
en ves de inner LEFT JOIN
nos da la infomracion de la tabla que nombramos a la izquierda
si usmaos en vez de inner RIGHT JOIN muestra toda la informacion de la tabla derecha
si ponemos FULL OUTER JOIN es de las dos tablas que presentan la relacion
---------------------------
Vemos caso de la funcion union
que es para unir dos consultas
La manera visual es a traves del view ahi nos indica que solo lo podemos hacer con una tabla
Por lo mismo vamos a la query
a manera sencilla vemos el caso del uso del union
UNION
Bsatara en ponerle entre las dos consultas del query que vamos a analizar
en este caso tenemos que ver que las tablas que tenemos no compartan varias columnas aparte de las key
---------------
Como determinar un promedio
Podemos hacerlo a partir de la funcion reservada avg
esta misma no da la posibilidad de hacerlo con la sintaxis
SELECT AVG(columna) AS Promedio FROM nombreTabla
Ejemplo
SELECT AVG(precio)AS PROMEDIO FROM producto
-----------------------------------------
Determinar la suma de una tabla
SELECT SUM(nombreColumna )AS nombreCambiar FROM TABLA
Ejemplo combinando
SELECT SUM(precio)AS total from producto where(id<5)
------------------------
Uso del MAX y del MIN
Sintaxis
SELECT MAX(columna) AS RENOMBRE FROM tabla
SELECT MIN(columna) AS RENOMBRE FROM tabla
Ejemplos
SELECT MAX(precio) AS MAXIMO FROM producto
SELECT MIN(precio)AS MINIMO FROM producto
---------------------------
Buscar el primero y el ultimo registro
Lo vemos con el caso de dos ejemplos practicos pero cumple la misma logica para lso demas casos
/*En este caso seleccionando por el id primero nos da el primero*/
select top(1) * from producto
/*aca usando el desc nos da como primero el ultimo id */
select top(1) * from producto
order by id desc
-----------------------
Contar algo con la clausula COUNT
Sintaxis
SELECT COUNT(columna)AS nombreSalida FROM nombreTabla
EJEMPLO
SELECT COUNT(id)AS nombreSalida FROM producto
----------------------------
Caso de un diccionario de datos
Son casos genericos donde nos deja hacer tareas especificas que no devuelven un error
o no deberian devolever ningun error usando cualquier base de datos
esto nos sirve en caso de ya tener una buena lectura de SQL
y nos sirve como guia correspondiente
EJEMPLO DE INTERNET
https://mega.nz/file/0cBwXKaC#t-Pw7mf6rYPYsUBfSRjXw-vwtinxSBbSebiXjRC3b3Y
-----------------------------------------------------
Procedimientos almacenados
STORED PROCESERUD
Estrutuctura basica
CREATE PROCEDURE nombreProdcedure @nombreParamteroAUtilziar tipoDato,
AS
BEGIN
ACA VEMOS LA ACCION QUE QUEREMOS QUE HAGA
END
EXEC nombreProcedure
Vemos entonce que para realizar un procedure definimos el bloque de codigo correspondiente
Luego de ello Ejecuta
CREATE PROCEDURE revisionPorProducto @nombreProducto nVarchar(40),@precio int
AS