Git Product home page Git Product logo

csi2532_playground's Introduction

csi2532_playground

csi2532 playground Firas Jribi 300084463

lab006

SELECT name, dateofbirth FROM artists;

R #1

SELECT title, price FROM artworks WHERE year > 1600;

R #2

SELECT title, type FROM artworks WHERE year = 2000 OR artist_name = 'Picasso';

R #3

SELECT name, birthplace FROM artists 
WHERE EXTRACT(YEAR FROM dateofbirth) > 1880 
and EXTRACT(YEAR FROM dateofbirth) < 1930 ;

R #4

SELECT name, country FROM artists 
WHERE style in ('Modern', 'Baroque', 'Renaissance');

R #5

SELECT * FROM artworks ORDER BY title;

R #6

SELECT name, id
FROM customers
JOIN likeartists ON customers.ID = likeartists.customer_id
where artist_name = 'Picasso';

R #7

SELECT name
FROM customers
JOIN likeartists ON customers.ID = likeartists.customer_id
WHERE artist_name in (
  SELECT name 
  FROM artists JOIN artworks on artists.name = artworks.artist_name
  WHERE style = 'Renaissance' AND price > 30000
);

R #8

lab005

Les migrations ont ete ajoutees a db/migrations

lab004

Une base de données universitaire

Une base de données universitaire contient des informations sur les professeurs (identifié par le numéro de sécurité sociale ou SSN) et les cours (identifié par courseid). Les professeurs donnent des cours; chacun de les situations suivantes concernent l'ensemble de relation teaches.

Diagramme ER

Pour chaque situation voici un diagramme ER qui le décrit (en supposant qu'aucune autre contrainte).

  1. Les professeurs peuvent enseigner le même cours sur plusieurs semestres et seule la plus récente doit être enregistrée.

ER #1

  1. Chaque professeur doit enseigner un cours.

ER #2

  1. Chaque professeur enseigne exactement un cours (ni plus, ni moins).

ER #3

  1. Chaque professeur enseigne exactement un cours (ni plus, ni moins), et chaque cours doit être enseigné par un professeur.

ER #4

  1. Les professeurs peuvent enseigner le même cours sur plusieurs semestres et chaque doit être enregistrée.

ER #5

  1. Supposons maintenant que certains cours puissent être enseignés conjointement par une équipe de professeurs, mais il est possible qu'aucun professeur dans une équipe ne puisse enseigner le cours. Modélisez cette situation en introduisant des ensembles d'entités et des ensembles de relations supplémentaires si nécessaire.

ER #6

Diagramme de relation

Avec les diagrammes ER ci-dessus, modèlez un diagramme relationnel pour les systèmes.

RD #1

RD #3

RD #5

RD #6

Schèma de relation

Avec les diagrammes relationnel ci-dessus, écrivez un schéma SQL relationnel pour les systèmes.

CREATE TABLE "professor" (
  "ssn" varchar(20),
  PRIMARY KEY ("ssn")
);

CREATE TABLE "teaches" (
  "ssn" varchar(20),
  "courseid" varchar(20),
  "semesterid" varchar(20),
  PRIMARY KEY ("ssn", "courseid")
);

CREATE TABLE "course" (
  "courseid" varchar(20),
  PRIMARY KEY ("courseid")
);
CREATE TABLE "professor" (
  "ssn" varchar(20),
  PRIMARY KEY ("ssn")
);

CREATE TABLE "teaches" (
  "ssn" varchar(20),
  "courseid" varchar(20),
  "semesterid" varchar(20),
  PRIMARY KEY ("courseid")
);

CREATE TABLE "course" (
  "courseid" varchar(20),
  PRIMARY KEY ("courseid")
);

CREATE TABLE "professor" (
  "ssn" varchar(20),
  PRIMARY KEY ("ssn")
);

CREATE TABLE "teaches" (
  "ssn" varchar(20),
  "courseid" varchar(20),
  "semesterid" varchar(20),
  PRIMARY KEY ("semesterid")
);

CREATE TABLE "course" (
  "courseid" varchar(20),
  PRIMARY KEY ("courseid")
);

CREATE TABLE "professor" (
  "ssn" varchar(20),
  PRIMARY KEY ("ssn")
);

CREATE TABLE "teaches" (
  "courseid" varchar(20),
  "groupid" varchar(20),
  "semesterid" varchar(20),
  PRIMARY KEY ("semesterid")
);

CREATE TABLE "group" (
  "groupid" varchar(20),
  PRIMARY KEY ("groupid")
);

CREATE TABLE "member_of" (
  "ssn" varchar(20),
  "courseid" varchar(20),
  "membershipid" varchar(20),
  PRIMARY KEY ("membershipid")
);

CREATE TABLE "course" (
  "courseid" varchar(20),
  PRIMARY KEY ("courseid")
);

lab003

Pour chaque situation voici un diagramme ER qui le décrit (en supposant qu'aucune autre contrainte).

Les professeurs peuvent enseigner le même cours sur plusieurs semestres et seule la plus récente doit être enregistrée.

ER #1 ER #1

Chaque professeur doit enseigner un cours.

ER #2 ER #2

Chaque professeur enseigne exactement un cours (ni plus, ni moins).

ER #3 ER #3

Chaque professeur enseigne exactement un cours (ni plus, ni moins), et chaque cours doit être enseigné par un professeur.

ER #4 ER #4

Les professeurs peuvent enseigner le même cours sur plusieurs semestres et chaque doit être enregistrée.

ER #5 ER #5

Supposons maintenant que certains cours puissent être enseignés conjointement par une équipe de professeurs, mais il est possible qu'aucun professeur dans une équipe ne puisse enseigner le cours. Modélisez cette situation en introduisant des ensembles d'entités et des ensembles de relations supplémentaires si nécessaire.

ER #6 ER #6

lab002

# psql -c "DROP DATABASE university"
psql -c "CREATE DATABASE university"
psql university -f ./db/schema.sql
psql university -f ./db/seed.sql
psql university -f ./db/test.sql

csi2532_playground's People

Contributors

fjtheknight avatar

Watchers

James Cloos avatar Kalonji Kalala avatar  avatar

Forkers

rjvsydroy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.