Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Бази даних
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 4 На тему: “Використання дати і часу та представлення геоінформації у SQL Server 2008 ” З дисципліни : " Бази даних. Частина 2 " Лектор: Доцент Павич Н.Я. Тема роботи: Використання дати і часу та представлення геоінформації у SQL Server 2008 Мета роботи: Навчитися використовувати функції для роботи з датою і часом та представлення геоінформації у SQL Server 2008. Індивідуальне завдання Продемонструвати використання функцій для роботи із датою та часом. Продемонструвати використання вказаного типу даних та функцій для роботи із geometry. Використовуючи щонайменше 4 типи geometry створити вказаний об’єкт. Варіант 6. STIntersection , BufferWithTolerance , STIsSimple , шафа Результати виконання завдання 1.Спочатку створюємо таблицю для роботи з датами і заносимо в неї дані. За допомогою функції DATEDIFF(HOUR, StartDate, EndDate) визначаємо різницю в годининах між відповідними початковими і кінцевими датами. За допомогою функції DATEADD(day, 1, getdate()) дізнаємось завтрашню дату. За допомогою функції DATEPART дізнаємося поточний рік,місяць,день,годину, хвилину, секунду. В кінці запиту знищуємо таблицю. use Z go create table Dates ( StartDate datetime, EndDate datetime) go insert into Dates ( StartDate, EndDate) values ( '2009-10-29', '2009-11-15'), ( '2009-10-28', '2009-10-31'), ( '2009-09-09 12:15:00', '2009-11-15 14:20:00'), ( '2009-10-19', '2009-11-30') go select StartDate, EndDate, DATEDIFF(HOUR, StartDate, EndDate) as PeriodInHours from Dates; select getdate() as TodayDate, DATEADD(day, 1, getdate()) as TomorrowDadte, DATEPART(year, getdate()) as [Year], DATEPART(MONTH, getdate()) as [Month], DATEPART(DAY, getdate()) as [Day], DATEPART(Hour, getdate()) as [Hour], DATEPART(MI, getdate()) as [Minutes], DATEPART(S, getdate()) as [Seconds], DATEPART(MS, getdate()) as [Miliseconds]; drop table Dates;  2. STIntersection- Повертає об'єкт, що представляє точки, в яких екземпляр geometry перетинається з іншим екземпляром geometry. BufferWithTolerance - Повертає геометричний об'єкт, що представляє об'єднання всіх точок, відстань від яких до заданого екземпляра geometry не перевищує заданого значення з вказаною похибкою. BufferWithTolerance ( distance, tolerance, relative ) Distance- вираз типу float задає відстань до фігури що описує заданий набір точок. Tolerance- похибка в обчисленні точок що описує заданий об’єкт. Relative- передаємо 1 якщо похибка відносна і 0 якщо абсолютна. STIsSimple - повертає 1 якщо фігура проста і 0 якщо фігура складна. use Z; use Z; CREATE TABLE S ( id int IDENTITY (1,1), Value varchar(20), Geom geometry, GeomText AS Geom.STAsText() ); GO DECLARE @g geometry; DECLARE @h geometry; SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))', 0); SET @h = geometry::STGeomFromText('POLYGON((3 1, 3 4, 7 4, 7 1, 3 1))', 0); SELECT @g.STIntersection(@h).ToString(); INSERT INTO S (Value, Geom) VALUES ('Перетин', geometry::STGeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))', 0)), ('Перетин', geometry::STGeomFromText('POLYGON((3 1, 3 4, 7 4, 7 1, 3 1))', 0)) select * from S where Value='Перетин' SELECT @g.BufferWithTolerance(1, .7,1).ToString(); SELECT @g.STIsSimple(); GO drop table S   3. use Z; --создадим таблицу CREATE TABLE SpatialTable ( id int IDENTITY (1,1), Value varchar(20), Geom geometry, GeomText AS Geom.STAsText() ); GO --вставляем данные INSERT INTO SpatialTable (Value, Geom) VALUES ('Шафа', geometry::STGeomFromText(' GEOMETRYCOLLECTION( LINESTRING (1 1, 1 12, 1 12,7 12,7 1,1 1, 7 1,13 1, 13 4,7 4,13 4,13 9,7 9, 13 9,13 12,7 12, 19 12,19 1,13 1) , POLYGON((18 1, 18 0, 19 0, 19 1,18 1)) , POLYGON((1 1, 1 0, 2 0, 2 1,1 1)) )', 0)), ('Шафа', geometry::STGeomFromText('LINESTRING( 14 6, 14 8)', 0)), ('Шафа', geometry::STGeomFromText('LINESTRING( 6 6, 6 8)', 0)), ('Шафа', geometry::STGeomFromText('point( 0 0)', 0)) ; select * from SpatialTable where Value='Шафа' drop table SpatialTable   Висновок На даній лабораторній роботі я навчився використовувати функції для роботи з датою і часом та ознайомився із представленням геоінформації у SQL Server 2008 за допомогою типу geometry.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!