Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Microsoft SQL Server

Автор: Granmer
Дата сообщения: 08.07.2008 15:00
rkhodjaev
Вместе с MS SQL можно установить и учебные базы. Все примеры из хелпа на них отрабатываются и эксперименты на них же можн оставить. Для MS SQL 2005 это AdventureWorks и AdventureWorksDW.
Автор: rkhodjaev
Дата сообщения: 08.07.2008 15:50
Granmer
Установил MS SQL 2000,так как не было MS SQL 2005.А в 2000 как учебные базы развертывать?
Автор: abv
Дата сообщения: 09.07.2008 09:28
rkhodjaev
C MS SQL 2K учебная база тоже прилагается, Northwind зовется.
Автор: naPmu3aH
Дата сообщения: 09.07.2008 10:30
rkhodjaev
Для изучения SQL Server на демобазах (тем более с нуля) более чем отлично подойдет SQL Server Express 2005 который свободно можно скачать с сайта Microsoft....
А еще есть, например, http://www.sql-ex.ru
Автор: rkhodjaev
Дата сообщения: 09.07.2008 14:54
abv

Цитата:
C MS SQL 2K учебная база тоже прилагается, Northwind зовется.

Спасибо,но я решил теперь на 2005 сделать эксперименты.
naPmu3aH

Цитата:
SQL Server Express 2005 который свободно можно скачать с сайта Microsoft....

Спасибо большое сейчас скачно тогда SQL Server Express 2005,и установлю.Если возникнуть какие-либо проблемы тогда буду обращатся.А там где находится тестовая база.+ почему то у SQL Server Express 2005 размер всего лищь 41 MB,или я не то скачиваю.....?
Автор: Granmer
Дата сообщения: 09.07.2008 16:51
rkhodjaev
качаешь не то, ты качаешь только ядро, надо качать тот, который Microsoft SQL Server 2005 Express Edition with Advanced Services (SQLEXPR_ADV.EXE). Или к тому, что ты сейчас качаешь надо будет докачать Microsoft SQL Server 2005 Express Edition Toolkit
(SQLEXPR_TOOLKIT.exe). Они на той же странице в прочих загрузках.

А тестовую базу - надо будет при установке выбрать пункт. Он называется sample databases. Только не забудь сначала убрать галку с hide advanced configuration options (примерно так - точно не помню).

Да, ещё базы, если их не окажется в экспрессе, можн отоже скачать с сайта МС ссылка будет называться: SQL Server 2005 Samples and Sample Databases.
Автор: naPmu3aH
Дата сообщения: 09.07.2008 18:18
rkhodjaev
Все почти так как написал Granmer. Но не совсем.
Если пойти сюда, то можно скачать по отдельности:
- SQL Server 2005 Express Edition SP2 - это только движок БД, без средств администрирования, примеров, документации и всего остального.
- SQL Server Management Studio Express - это пакет программ для администрирования (настройки, создания баз, редактор запросов и т.п.)
В отличие от "взрослых" версий SQL Server с SQL Server Express не поставляются документация и примеры, поэтому галочек по этому поводу при инсталяции не будет.

Можно скачать (как предлагает Granmer)
- SQL Server 2005 Express Edition with Advanced Services SP2 - оно содержит в себе и движок и средства администрирования и плюс к этому еще Reporting Services (средства генерации различных отчетов по даным из SQL Server) и Full-Text Search (полнотекстовый поиск по данным). По мне так на этапе изучения последние два компонента избыточны и только мозолить глаза будут
- Microsoft SQL Server 2005 Express Edition Toolkit - но это по сути дела Visual Studio Express - среда для разработки бизнес-приложений использующих SQL Server (в частности Reporting Services). Тоже на мой взгляд совершенно лишняя вещь на данном этапе.

На той же странице ниже можно найти ссылки на Additional components (дополнительные компоненты), а именно:
- SQL Server 2005 Samples - та самая демо-база AdventureWorks
- SQL Server 2005 Books Online - документация по SQL Server (языку SQL в том числе)

Да, случайно ткнув в одну из ссылок я заметил, что мне предлагали скачивать русские версии соответствующих продуктов (может это кому-то и важно).

В общем скачивайте, устанавливайте. Успехов!
Автор: rkhodjaev
Дата сообщения: 10.07.2008 06:58
Granmer
naPmu3aH
Спаибо большое Вам.Ну тогда я сегодня буду скачать:
SQL Server 2005 Express Edition with Advanced Services SP2
Microsoft SQL Server 2005 Express Edition Toolkit
хотя вы naPmu3aH что здесь много чего и можно запутатся,но думаю не буду лазить по всему,буду только то что надо.Хотя у них общий вес около 500 МВ [sup][/sup]
naPmu3aH я искал,но не нашел русскую версия для закачки,думаю было бы супер начинающему работать на рус. версии.....не дадите линк,просто лучше может быть скачать 500 метров русской версии

Автор: shadow user777
Дата сообщения: 21.07.2008 21:27
Сорр за "почти" дубль поста в смежной ветке, но все же.
Ищу помощи в таком деле.
Не запускаются скрипты под MS SQL 2005.
Все операции приходится делать вручную.
Помогите плиз!!!
Дайте дельный совет.
Автор: counsellor
Дата сообщения: 23.07.2008 10:57
Что значит "не запускаются скрипты"?

Какие скрипты?
В чём запускаете?
Какие ошибки?

Учитесь задавать вопрос подробно!
Автор: Boxcep
Дата сообщения: 28.08.2008 15:31
Задача на мой взгляд не сложная, но в силу не опытности в сфере SQL запросов адресую этот вопрос знатокам и просто любителям.
Есть склад А, у которого бывает и приход и расход. Если на склад А делается приход, то кроме всех параметров также указывается партнер, который поставляет эту продукцию. Потом с этого склада производится расход. В конце месяца нужно сделать отчет по расходу всей продукции определенного (конкретного) партнера. Партнер всегда будет одним и тем же!
Имеется база данных на sybase. Нужно создать запрос который бы выбирал из базы данных расходы, которые соответствуют этому партнеру. Другими словами: на складе имеется много ТМЦ, но нам нужен расход именно тех ТМЦ, партнер которого является допустим «ООО Роснефть».
Я знаю, что ни указал разные тонкости, т.к. не знаю какие именно тонкости нужны. Так что спрашивайте.
Автор: eLLoco
Дата сообщения: 28.08.2008 16:18
Boxcep, тебе нужно написать SQL запрос? Судя по лексике, ты скорее не программист, а консультант хотя могу и ошибаться. Чтобы написать запрос, нужно хотя бы знать структуру данных - какие таблицы, где что хранится.

Если есть только проводки, нет таблицы остатков скажем - то нужно лишь пройтись по проводкам аггрегирующим запросом по кол-ву с фильтром по партнеру и группировкой по коду ТМЦ.

И еще - это топик по конкретной СУБД, а не по SQL в общем, несколько промахнулся, стоит попробовать поискать получше или создать новый топик, а не продолжать здесь.
Автор: andrewbobjiljov
Дата сообщения: 09.09.2008 19:42
Используется MSSQL 2005. При залогиневании (select) пользователя происходит проверка не забанен ли он, и если он забанен, то проверяется не истек ли срок бана (еще один select из таблицы банов). Можно ли как-либо решить проверку истечения срока бана на стороне sql сервера? Насколько я знаю, на select триггер не повесишь, но может быть есть какие либо обходные пути?
Автор: Kott
Дата сообщения: 09.09.2008 20:23
А чем не подходит хранимая процедура - проверяющая не забанен ли пользователь и не истек ли срок бана? Причем тут триггеры?
Автор: andrewbobjiljov
Дата сообщения: 09.09.2008 20:40
Kott, хранимая процедура это довольно удачное решение. Но мне хотелось, что бы при обращениях к таблице происходила проверка истек ли бан. Хотя сейчас я понимаю, что самым лучшим решение все же будет хранимая процедура, так как даже если бы можно было повесить триггер на select, то триггер вызывался бы слишком часто.
Автор: EZH
Дата сообщения: 09.09.2008 22:04
andrewbobjiljov
Да я собственно большой необходимости и в хранимой процедуре не вижу. Почему бы при select инфы о юзере, не джойнить таблицу банов и не делать выборку дополнительного вычисляемого поля-флага (с помощью CASE и GETDATE()), показывающего, можно ли юзеру уже логиниться.

Добавлено:
И, кстати, вопрос: раз, если я правильно предполагаю, в таблице банов только лишь ссылка на юзера и время бана, то почему бы не перенести время бана в саму таблицу юзеров и не избавиться от таблицы банов? Если там есть еще инфа, то нет вопросов.
Автор: andrewbobjiljov
Дата сообщения: 09.09.2008 22:48
EZH
В таблице банов храниться еще дополнительная инфа, кто и когда наложил бан, когда закончиться, кем снят и тд. Сам бан храниться в инфе о пользователе. В принципе вариант с select с join довольно хорош. Но тогда уж можно и хранимую процедуру задействовать. Кроме сайта, которым я собственно и занимаюсь, есть еще программный клиент к БД. Поэтому мне хочется, что бы как можно больше действий были на стороне сервера.
Автор: NiiiiL
Дата сообщения: 11.09.2008 10:11
Задача: каждый день в определенное время копировать базу данных на другой сервер с тем же ms sql.
Проблем с копированием на локальный сервер не возникает.
Буду очень признателен, если кто-нибудь сможет помочь. Спасибо.
Автор: Kott
Дата сообщения: 11.09.2008 13:16

Цитата:
В таблице банов храниться еще дополнительная инфа, кто и когда наложил бан, когда закончиться, кем снят и тд. Сам бан храниться в инфе о пользователе. В принципе вариант с select с join довольно хорош. Но тогда уж можно и хранимую процедуру задействовать. Кроме сайта, которым я собственно и занимаюсь, есть еще программный клиент к БД. Поэтому мне хочется, что бы как можно больше действий были на стороне сервера.

ИМХО выделение отдельной таблицы для банов нецелесообразно.
Автор: apnss
Дата сообщения: 12.09.2008 23:08

Цитата:
ИМХО выделение отдельной таблицы для банов нецелесообразно.

несогласен

отдельная сущность должна храниться в отдельной таблице (или группе таблиц)

храня ее в данных пользователях теряются данные о предыдущих банах
Автор: Kott
Дата сообщения: 12.09.2008 23:21
Где у меня сказано что статус пользователя надо хранить в данных пользователя? Выделяется отдельная таблица статусов пользователя. С чегог вы взяли что "бан" - это какой то особый статус?
Автор: apnss
Дата сообщения: 12.09.2008 23:38
А где сказано что такое бан и что такое статус ?
и с какой стати "мягкое" и "холодное" объединяется в одну сущность ?

в моем понимании статус: новичек, юзер, опытный юзер, вуду
а бан - это не статус а действие

и если статус по сути подразумевает ступенчатый переход от одного уровня к другому то бан никак в эту последовательность не вписывается (это лишнее ответвление). Там где лишее ответвление - возможные потенциальные трудности с реализацией и гибкостью схемы БД

Если не правильно понял то сорри, хотя навскидку вроде правильно понял.
Автор: eLLoco
Дата сообщения: 14.09.2008 16:32
andrewbobjiljov, ничего удачней хранимой процедуры не получится, а удобную логику можно реализовать уже в приложении, в котором используются данные с MSSQL.
Автор: dmka
Дата сообщения: 15.09.2008 10:59
andrewbobjiljov
я бы заменил бан в таблице с инфой о пользователе на поле ЛогинРазрешенС типа datetime, а таблицу с банами использовал бы только для аудита/хранения истории. Тогда отпадает необходимость каждый раз проверять истечение срока бана.
Автор: ONIX2
Дата сообщения: 24.09.2008 10:53
Друзья!

Помогите пожалуйста человеку без опыта работы с сабжем.

Имеется база данных (db) в ней множество таблиц, одна из которых представляет большую ценность (tab1). Хочу попробовать создать точно такой же структуры и с точно такими же данными таблицу (tab2). Затем я смогу в ней немного изменить данные (это планируется с помощью экспорта-импорта в текстовый файл, т.к. так проще будет обработать большой массив данных).

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

Помогите пожалуйста:
Как можно сделать дубликат таблицы в базе?
Как написать скрипт, который сможет выполнять такое переименование?

Большое спасибо за ответ!
Автор: Kott
Дата сообщения: 26.09.2008 11:33
Дубликат таблицы можно сделать при помощи
SELECT * INTO new_table FROM old_table
для изменения таблиц используйте либо АДО-систему либо вызов АПИ BDE
Автор: ONIX2
Дата сообщения: 26.09.2008 14:54
Kott

Большое спасибо за помощь чайнику.
А скажите, разве переименовать old_table в new_table и наоборот с помощью скрипта не получится?
Автор: Kott
Дата сообщения: 26.09.2008 17:03
Попробуйте ALTER TABLE
Автор: naPmu3aH
Дата сообщения: 26.09.2008 19:25
ONIX2
EXEC sp_rename 'Old_TableName', 'New_TableName'
Автор: ONIX2
Дата сообщения: 29.09.2008 13:03
Kott
naPmu3aH
Спасибо большое! Буду пробовать.

Страницы: 1234567891011121314151617181920212223242526272829

Предыдущая тема: Генератор 10-ти разрядных ключей


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.