diff --git a/MIT.md b/MIT.md new file mode 100644 index 0000000..74db58f --- /dev/null +++ b/MIT.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Ramoun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 2fb2458..a441f0a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# curriculum-databases-projects-template - -> This template should be used for database related projects at Microverse. -> Generate your own repository, update this README and edit all files content while working on projects. You should not be adding any new files unless asked otherwise. +# Vet Clinic DataBase +> A Simple Database for Vet Clinic. Made using Postgresql. ## Getting Started @@ -12,20 +10,13 @@ This repository includes files with plain SQL that can be used to recreate a dat - Use [data.sql](./data.sql) to populate tables with sample data. - Check [queries.sql](./queries.sql) for examples of queries that can be run on a newly created database. **Important note: this file might include queries that make changes in the database (e.g., remove records). Use them responsibly!** - ## Authors -👤 **Author1** - -- GitHub: [@githubhandle](https://github.com/githubhandle) -- Twitter: [@twitterhandle](https://twitter.com/twitterhandle) -- LinkedIn: [LinkedIn](https://linkedin.com/in/linkedinhandle) - -👤 **Author2** +👤 **Ramoun** -- GitHub: [@githubhandle](https://github.com/githubhandle) -- Twitter: [@twitterhandle](https://twitter.com/twitterhandle) -- LinkedIn: [LinkedIn](https://linkedin.com/in/linkedinhandle) +- **GitHub**: [![@mrramoun](https://img.shields.io/github/followers/MrRamoun?label=Ramoun&style=social)](https://github.com/mrramoun) +- **Twitter**: [![@ramoun16](https://img.shields.io/twitter/follow/ramoun16?label=ramoun16&style=social)](https://twitter.com/ramoun16) +- **LinkdIn**: [![@ramoun](https://img.shields.io/github/followers/ramon?label=ramoun&logo=linkedin&style=social)](https://www.linkedin.com/in/ramoun/) ## 🤝 Contributing @@ -39,9 +30,8 @@ Give a ⭐️ if you like this project! ## Acknowledgments -- Hat tip to anyone whose code was used - Inspiration -- etc +- My Passion For Computers ## 📝 License diff --git a/data.sql b/data.sql index c31ec67..fac977e 100644 --- a/data.sql +++ b/data.sql @@ -1,5 +1,24 @@ /* Populate database with sample data. */ -INSERT INTO animals (name) VALUES ('Luna'); -INSERT INTO animals (name) VALUES ('Daisy'); -INSERT INTO animals (name) VALUES ('Charlie'); +/* +Animal: His name is Agumon. He was born on Feb 3rd, 2020, and currently weighs 10.23kg. He was neutered and he has never tried to escape. +Animal: Her name is Gabumon. She was born on Nov 15th, 2018, and currently weighs 8kg. She is neutered and she has tried to escape 2 times. +Animal: His name is Pikachu. He was born on Jan 7th, 2021, and currently weighs 15.04kg. He was not neutered and he has tried to escape once. +Animal: Her name is Devimon. She was born on May 12th, 2017, and currently weighs 11kg. She is neutered and she has tried to escape 5 times. +*/ + +INSERT INTO animals +(name, date_of_birth, escape_attempts, neutered, weight_kg) +VALUES ('Agumon', DATE '2020-02-03', 0, true, 10.23); + +INSERT INTO animals +(name, date_of_birth, escape_attempts, neutered, weight_kg) +VALUES ('Gabumon', DATE '2018-11-15', 2, true, 8); + +INSERT INTO animals +(name, date_of_birth, escape_attempts, neutered, weight_kg) +VALUES ('Pikachu', DATE '2021-01-07', 1, false, 15.04); + +INSERT INTO animals +(name, date_of_birth, escape_attempts, neutered, weight_kg) +VALUES ('Devimon', DATE '2017-05-12', 5, true, 11); diff --git a/queries.sql b/queries.sql index 9624b62..383bab2 100644 --- a/queries.sql +++ b/queries.sql @@ -1,3 +1,21 @@ -/*Queries that provide answers to the questions from all projects.*/ +/* Queries that provide answers to the questions from all projects. */ -SELECT * from animals WHERE name = 'Luna'; +/* + * Find all animals whose name ends in "mon". + * List the name of all animals born between 2016 and 2019. + * List the name of all animals that are neutered and have less than 3 escape attempts. + * List date of birth of all animals named either "Agumon" or "Pikachu". + * List name and escape attempts of animals that weigh more than 10.5kg. + * Find all animals that are neutered. + * Find all animals not named Gabumon. + * Find all animals with a weight between 10.4kg and 17.3kg (including the animals with the weights that equals precisely 10.4kg or 17.3kg). +*/ + +SELECT * FROM animals WHERE name LIKE '%mon'; +SELECT * FROM animals WHERE EXTRACT (YEAR FROM date_of_birth) >= 2016 AND EXTRACT(YEAR FROM date_of_birth) <= 2019; +SELECT * FROM animals WHERE neutered = true AND escape_attempts < 3; +SELECT * FROM animals WHERE name = 'Agumon' OR name = 'Pikachu'; +SELECT * FROM animals WHERE weight_kg > 10.5; +SELECT * FROM animals WHERE neutered = true; +SELECT * FROM animals WHERE name != 'Gabumon'; +SELECT * FROM animals WHERE weight_kg >= 10.4 AND weight_kg <= 17.3; diff --git a/schema.sql b/schema.sql index bddf2cd..b4978b9 100644 --- a/schema.sql +++ b/schema.sql @@ -1,5 +1,10 @@ /* Database schema to keep the structure of entire database. */ CREATE TABLE animals ( - name varchar(100) + id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY NOT NULL, + name VARCHAR(255) NOT NULL, + date_of_birth DATE NOT NULL, + escape_attempts INT NOT NULL, + neutered BOOLEAN NOT NULL, + weight_kg DECIMAL NOT NULL );