Posgress Flashcards

1
Q

Cuales son algunas de las caracteristicas de posgress

A

Es un ORDBMS crossplataform

Soporta ACID(Atomocitym Consistency, Isolation, Durability)

Soporta indices, vistas, triggers, procedures, functions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuales son los limites que tiene postgres

A

Es gratis y opensouce pero tiene mucha capacidad:

  1. Tamaño maximo de DB: ilimitado
  2. Tamaño maximo de tabla: 32TB
  3. Tamaño maximo de fila: 1.6TB
  4. Tamaño maximo de campo: 1GB
  5. Maximo de filas por tabla: Ilimitado
  6. Maximo de columnas por tabla: 250-1600(dependiendo del tipo)
  7. Maximo de indices por tabla: Ilimitado
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como se pone una condicion sobre una operacion de agupacion en SQL

A

Si se tiene una operacion de agregacion y queremos tener una condicion sobre esta, no podemos usar WHERE, debemos usar la clausula HAVING, lo que se quiere decir es que se puede tener where en la parte general de la sentencia, pero en el groupby por ejemplo la condicion es por medio de HAVING, ejemplo:

select first_name, count(first_name)
from actor
where actor_id between 100 and 200
group by first_name
having count(first_name)>1;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cual es la estructura semanticamente correcta de un query

A
  1. SELECT
  2. FROM
  3. WHERE
  4. GROUPBY
  5. HAVING
  6. ORDER BY

Los que son necesarios son select y from, de ahi puede haber varias combinaciones ejemplo

select * from x where ..

select * from x where … orderBy x

select * from x where … groupBy x

select * from x where … groupBy x having x

select * from x where … groupBy x having x order by x

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe un inner join

A

Un inner join es el resultado de una condicion dada entre dos tablas, excluyendo todos aquellos que no cumplan la condicion

Por ejemplo si quisieramos saber los estudiantes que estan enrolados en que clase(s)

select firstName, className from Student_class sc

inner join student st on st.idStudent=sc.student

inner join class cl on cl.idClass=sc.idClass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe left outer join

A

Depende de una condicion y el resultado va a ser esa condicion mas lo que esta en la tabla del lado izquiero, si la condicion no se cumple mandara un null

Ejemplo, todos los estudiantes que no se inscribieron a ninguna clase, queremos los nombres de los estudiantes que no tengan ninguna clase asignada

select st.firstName from Student st

LEFT JOIN student_class sc on sc.id=st.id

where sc.idclass is null

En este caso queremos que nos de los resultado en donde el id de clase es null es decir omitimos el join y solo nos quedamos con lo que esta del lado izquierdo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe right outer join

A

regresa todo el resultado de la tabla derecha mas lo que matchea dada una condicion,

Ejemplo quiero todas las clases que no tienen alumnos

Select st,firstName, cl.className

from Strudent st

RIGHT JOIN student_class sc on st.idstudent= sc.idstudent

RIGHT JOIN class cl on cl.idclass=sc.idclass

where idstudent is null

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe el cross join

A

Cross join es la union cartesiana entre dos tablas y no requere cumplir ninguna condicion, es decir que el resultado va a ser la multiplicacion de los records en tabla1 por el numero de records en tabla2, asi si en tabla1 tenemos 3 y en tabla2 tenemos 4, el resultado sera 4x3=12

Ejemplo

select st.firstName,cl.className from class cl CROSS JOIN student st;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe el full outer join

A

Es la combinacion entre el left y right join, es decir tomaremos lo de la derecha y lo de la izquierda a igual que lo que los une dada una condicion

Por ejemplo si queremos saber todos los estudiantes con curso, los estudiantes sin cursos y las materias sin alumnos asignados en un solo resultado

select firstName, cl.className from Student st FULL JOIN StudentClass sc on st.id=sc.id FULL JOIN class cl on ci.idstudent=cl.idstudent;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly