Ознакомление с основами PostgreSQL. Создание и заполнение базы данных игроков хоккейной команды, состоящей из четырех таблиц

Страницы работы

Содержание работы

Новосибирский государственный технический университет

Кафедра вычислительной техники

Описание: Описание: NSTU1



Лабораторная работа

по дисциплине Базы данных

«Ознакомление с основами PostgreSQL»

Факультет:                АВТ
Группа:                      АМ-809
Студент:                    Барсуков Д.О.
Преподаватель:         Трошина Г.В

Вариант:                    1






Новосибирск 2011

Цель работы. Изучить базовые операции по работе с базой данных. Изучить синтаксис команд. Приобрести навыки создания баз данных, создания, заполнения и модификации таблиц в PostgreSQL.

Задание. Создать и заполнить базу данных своего варианта в PostgreSQL. Таблицы (минимум по 5 записей в каждой) связать между собой полями идентификаторов. С помощью команд интерактивного терминала psql просмотреть структуру базы данных, структуру таблиц, просмотреть данные в них, изменить структуру таблиц, добавить столбцы, добавить данные, создать столбцы с пользовательскими типами данных.

Вариант 1. Создать и заполнить базу данных игроков хоккейной команды, состоящую из четырех таблиц. Первая таблица должна содержать поля: имя, фамилия, дата рождения, рост, вес. Вторая: игровая позиция (вратарь, защитник, нападающий), игровой номер, размер коньков, хват клюшки (левый или правый). Третья: оклад, премия (выплата за каждое очко по системе «гол+пас»), штраф (за каждую минуту штрафного времени в игре, начиная с 30% игрового времени). Четвертая: количество голов, количество голевых передач, штрафное время, игровое время. На основании созданных таблиц создать таблицу, содержащую поля: имя, фамилия, игровая позиция, игровой номер, оклад, игровое время.

Выполнениеработы

postgres=# create database var1;

CREATE DATABASE

postgres=# \c var1

You are now connected to database "var1".

var1=# create type pos as enum('goalkeeper','defender','forward');

CREATE TYPE

var1=# create type grip as enum('left','right');

CREATE TYPE

var1=# create table people(id int, name char(15), surname char(15), birthday date);

CREATE TABLE

var1=# alter table people add height int;

ALTER TABLE

var1=# alter table people add weight int;

ALTER TABLE

var1=# create table players(id int, position pos, number int, size int, gr grip);

CREATE TABLE

var1=# create table money(id int, salary int, bonus int, penalty int);

CREATE TABLE

var1=# create table statistics(id int, totalgoals int, totalassists int, penaltytime int, gametime int);

CREATE TABLE

var1=# insert into people values(1,'dmitry','kosoy','1991-02-12',184,72);

INSERT 0 1

var1=# insert into people values(2,'vasya','lenin','1950-01-01',163,90);

INSERT 0 1

var1=# insert into people values(3,'elena','bobruiskaya','1993-02-05',170,65);

INSERT 0 1

var1=# insert into people values(4,'victor','zhoi','1976-08-08',180,78);

INSERT 0 1

var1=# insert into people values(5,'evgenii','oslov','1990-01-05',190,86);

INSERT 0 1

var1=# select * from people;

var1=# insert into players values(1,'forward',1,44,'right');

INSERT 0 1

var1=# insert into players values(2,'goalkeeper',1,40,'left');

INSERT 0 1

var1=# update players set number=2 where id=2;

UPDATE 1

var1=# insert into players values(3,'defender',3,37,'right');

INSERT 0 1

var1=# insert into players values(4,'defender',4,44,'right');

INSERT 0 1

var1=# insert into players values(5,'defender',5,43,'right');

INSERT 0 1

var1=# select * from players;

var1=# insert into money values(1,40000,500,500);

INSERT 0 1

var1=# insert into money values(2,30000,400,800);

INSERT 0 1

var1=# insert into money values(3,20000,700,700);

INSERT 0 1

var1=# insert into money values(4,25000,300,300);

INSERT 0 1

var1=# insert into money values(5,27000,300,300);

INSERT 0 1

var1=# select * from money;

var1=# insert into statistics values(1,15,45,10,300);

INSERT 0 1

var1=# insert into statistics values(2,0,0,50,250);

INSERT 0 1

var1=# insert into statistics values(3,4,7,150,170);

INSERT 0 1

var1=# insert into statistics values(4,10,25,40,200);

INSERT 0 1

var1=# insert into statistics values(5,12,30,20,250);

INSERT 0 1

var1=# select * from statistics;

var1=# create table out as select people.id,people.name,people.surname,players.p

osition,players.number,money.salary,statistics.gametime from people inner join p

layers on people.id = players.id inner join money on people.id = money.id inner

join statistics on people.id = statistics.id;

SELECT 5

var1=# select * from out;

var1=# \d+

var1=# \d+ players

var1=# \d+ out

Выводы

В результате выполнения лабораторной работы я изучил базовые возможности СУБД PostgreSQL 9.0, в частности: освоил команды создания баз данных и таблиц, изменения таблиц; команды вставки, изменения и удаления записей; некоторые способы реорганизации таблиц. На практике ощутил ценность и мощь современных СУБД.

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
238 Kb
Скачали:
0