Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Начните с маленькой подводной лодки: устанавливайте бомбы, избавляйтесь от врагов и старайтесь не попадаться на глаза своим плавучим врагам. Вас ждет еще несколько игровых вселенных, много уникальных сюжетов и интересных загадок.

Пикабомбер

Аркады, Пиксельная, 2D

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Database

556 постов сначала свежее
Orlllangur
Orlllangur
4 месяца назад

Информацию хранить на жестких дисках опасно? Тогда где?⁠⁠

Я часто слышу мнение, что хранить семейные фото и видео на жестком диске компьютера опасно, мол, эти вещи ненадежные, в любой момент сломается - и остался без семейного архива за четверть века. Отсюда вопрос уважаемым знатокам. А на чем тогда хранить безопасно?

Понятно, что лучше всего с какой-то регулярностью дублировать информацию на два носителя. Если что-то с одним произошло, то на втором более или менее актуальная база остается. Но интересует не это, а какие именно носители информации самые надежные и долговечные.

[моё] Информация Компьютер База данных IT Текст
84
4
DropTrigger
DropTrigger
4 месяца назад
Серия Записки вкатуна

Создаю онлайн-сервис для чтения книг. День 1. Проектирование БД⁠⁠


Всем привет, хочу вам показать свои шаги по созданию онлайн сервиса для чтения книг.

Создаю онлайн-сервис для чтения книг. День 1. Проектирование БД Программирование, База данных, SQL, Длиннопост

🤔 Идея проекта

Создание платформы для удобного чтения книг в формате PDF с синхронизацией прогресса на всех устройствах.
Ключевые фичи:

  • Интерактивные элементы для работы с текстом (закладки, заметки).

  • Интеграция с ИИ (например, перевод и анализ текста через DeepSeek).

  • Персонализированные рекомендации.

👀 Начало работы: проектирование БД

Спроектирована структура базы данных для поддержки функционала сервиса.
Представлю функционал в виде use-case диаграммы.

Создаю онлайн-сервис для чтения книг. День 1. Проектирование БД Программирование, База данных, SQL, Длиннопост

Базовый функционал

Как видно по фотографии, есть 2 роли — пользователь и администратор. При этом администратор может управлять всем содержимым сервиса, а пользователь только своим аккаунтом, и всем, что с ним связано.

Советуясь со своим внутренним голосом я составил структуру базы данных


🗃️ Структура базы данных

Users

  • id: INT, Primary Key, уникальный идентификатор пользователя (автоинкремент).

  • nickname: NVARCHAR(50), псевдоним пользователя.

  • description: NVARCHAR(150), описание профиля пользователя (опционально).

  • avatar_image_path: NVARCHAR(255), путь к изображению профиля пользователя (по умолчанию 'default-avatar.png').

  • name: NVARCHAR(100), имя пользователя.

  • email: NVARCHAR(150), уникальный адрес электронной почты пользователя.

  • password_hash: NVARCHAR(255), хэш пароля пользователя.

  • id_role: INT, идентификатор роли пользователя (по умолчанию 0). Связан с таблицей Roles.

  • is_banned: BIT, статус блокировки пользователя (по умолчанию FALSE).

  • created_at: DATETIME, дата и время создания записи.


Roles

  • id: INT, Primary Key, уникальный идентификатор роли (автоинкремент).

  • name: NVARCHAR(20), название роли (например, "admin" или "user").


BannedUsers

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_user: INT, идентификатор заблокированного пользователя. Связан с таблицей Users.

  • ban_reason: NVARCHAR(200), причина блокировки (опционально).

  • banned_at: DATETIME, дата и время блокировки.


Books

  • id: INT, Primary Key, уникальный идентификатор книги (автоинкремент).

  • name: NVARCHAR(200), название книги.

  • description: NVARCHAR(250), краткое описание книги.

  • id_author: INT, идентификатор автора книги. Связан с таблицей Users.

  • cover_image_path: NVARCHAR(250), путь к обложке книги.

  • file_book_path: NVARCHAR(200), путь к файлу книги.

  • id_category: INT, идентификатор категории книги. Связан с таблицей Categories.

  • is_private: BIT, флаг приватности книги (0 — публичная, 1 — приватная).

  • created_at: DATETIME, дата и время создания записи (опционально).


Categories

  • id: INT, Primary Key, уникальный идентификатор категории (автоинкремент).

  • name: NVARCHAR(100), название категории.


Libraries

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_author: INT, идентификатор пользователя, владеющего библиотекой. Связан с таблицей Users.

  • id_book: INT, идентификатор книги, добавленной в библиотеку. Связан с таблицей Books.

  • created_at: DATETIME, дата и время добавления книги в библиотеку.

  • progress_page: INT, номер текущей страницы, на которой находится пользователь (по умолчанию 0).


Bookmarks

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_library: INT, идентификатор библиотеки, к которой относится закладка. Связан с таблицей Libraries.

  • page: INT, номер страницы, на которую сделана закладка.

  • comment: NVARCHAR(100), комментарий к закладке.

  • created_at: DATETIME, дата и время создания закладки.


BookReviews

  • id: INT, Primary Key, уникальный идентификатор отзыва (автоинкремент).

  • id_author: INT, идентификатор автора отзыва. Связан с таблицей Users.

  • id_book: INT, идентификатор книги, к которой относится отзыв. Связан с таблицей Books.

  • comment: NVARCHAR(500), текст отзыва.

  • rating: TINYINT, рейтинг книги (число от 0 до 5).

  • created_at: DATETIME, дата и время создания отзыва.


LikesReviews

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_author: INT, идентификатор пользователя, который поставил реакцию. Связан с таблицей Users.

  • id_review: INT, идентификатор отзыва, к которому относится реакция. Связан с таблицей BookReviews.

  • reaction_type: TINYINT, тип реакции (например, лайк или дизлайк).

  • created_at: DATETIME, дата и время установки реакции.


Logs

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_user: INT, идентификатор пользователя, совершившего действие. Связан с таблицей Users.

  • action: NVARCHAR(200), описание действия.

  • created_at: DATETIME, дата и время совершения действия.


UserSubscribers

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_author: INT, идентификатор пользователя, на которого подписан другой пользователь. Связан с таблицей Users.

  • id_subscriber: INT, идентификатор пользователя, который подписан на другого пользователя. Связан с таблицей Users.

  • created_at: DATETIME, дата и время создания подписки.


UserSessions

  • id: INT, Primary Key, уникальный идентификатор записи (автоинкремент).

  • id_user: INT, идентификатор пользователя, которому принадлежит сессия. Связан с таблицей Users.

  • refresh: NVARCHAR(255), refresh токен.

  • expires_in: DATETIME, дата и время истечение refresh токена.

Создаю онлайн-сервис для чтения книг. День 1. Проектирование БД Программирование, База данных, SQL, Длиннопост

Таблица в Miro

С уверенностью 100% я могу сказать, что база данных будет меняться, но это будет на следующих этапах.

🔧 Следующие шаги

  1. Разработка сервера на .NET 7.0 для обработки HTTP-запросов.

  2. Реализация API для:

    • Авторизации/регистрации.

    • Управления книгами и библиотекой.

    • Синхронизации прогресса чтения.

  3. Интеграция с DeepSeek для AI-фич.


🚀 Продолжение следует...
Спасибо за поддержку! 👍

Показать полностью 2
Программирование База данных SQL Длиннопост
15
0
kv4k4zy4br4
4 месяца назад

Ответ ZiRoberto в «Впрочем, ничего нового»⁠⁠5

Оказывается, база данных у нее актуальна на октябрь 2023... Печально.

Ответ ZiRoberto в «Впрочем, ничего нового» Скриншот, Переписка, DeepSeek, База данных, Нейронные сети, Ответ на пост, Длиннопост, Волна постов
Показать полностью 1
Скриншот Переписка DeepSeek База данных Нейронные сети Ответ на пост Длиннопост Волна постов
5
4
IliaHohlov
IliaHohlov
4 месяца назад
Лига программистов

Задача по SQL на этот понедельник⁠⁠

Всем доброго понедельника!

Как насчёт очередной небольшой задачи по SQL с нашего Телеграм-канала?

В базе данных (на примере СУБД ORACLE), среди прочих, есть три таблицы, определённые следующим образом:

/* Таблица Сотрудники */

CREATE TABLE PERS (

ID NUMBER PRIMARY KEY,

FIO VARCHAR(100) NOT NULL,

PHONE VARCHAR(10) DEFAULT '' NOT NULL);

/* Автомобили сотрудников */

CREATE TABLE CARS (

ID NUMBER PRIMARY KEY,

BRAND VARCHAR(50) NOT NULL,

MODEL VARCHAR(50) NOT NULL,

ID_PERS_OWNER NUMBER NOT NULL,

CONSTRAINT FK_CAR_OWNER FOREIGN KEY

(ID_PERS_OWNER) REFERENCES PERS(ID)

);

/* Сотрудники-водители */

CREATE TABLE DRIVERS (

ID_PERS NUMBER PRIMARY KEY,

DRIVE_LICENSE_NUM VARCHAR(20) DEFAULT NULL,

CONSTRAINT FK_PERS_DRIVER FOREIGN KEY

(ID_PERS) REFERENCES PERS(ID)

);

В таблице PERS данные:

ID FIO PHONE

1 Иванов И.И. 9057553111

2 Петров П.П. 9104454545

3 Сидоров А.И. 9113457778

В таблице CARS данные:

ID BRAD MODEL ID_PERS_OWNER

1 Ауди А4 1

2 Фиат Панда 2

3 Форд Мондео 2

Какой результат вернёт выполнение следующего SQL-скрипта, состоящего из трёх команд?

TRUNCATE TABLE DRIVERS;

INSERT INTO DRIVERS

(ID_PERS)

SELECT p.ID

FROM PERS p

JOIN CARS c

On c.ID_PERS_OWNER = p.ID;

SELECT COUNT(*)

FROM DRIVERS;

Задача по SQL на этот понедельник Программирование, IT, Собеседование, SQL, База данных, Mysql, Oracle, Postgresql, Тестирование, Программист
Показать полностью 1
[моё] Программирование IT Собеседование SQL База данных Mysql Oracle Postgresql Тестирование Программист
4
MrStaggerLee
MrStaggerLee
4 месяца назад

Интересное место и мысли вслух⁠⁠

Если написать на Пикабу, что Россия - криптоколония, которой управляют штаты, что у путина нет власти, что мигранты лучше коренных россиян, то пост удалят. Если начать на постоянной основе говорить про это всем родным, близким, коллегам и случайным людям, то скорее всего вызовут психиатрическую помощь. Но если ты депутат госдуры Фёдоров, то все норм, так можно!
https://aif.ru/politics/russia/944285
А еще, если ты Семигин, то можно продвигать закон о диаспорах, которые будут при власти напрямую вопросики решать и темки мутить.
http://komitet-dn.duma.gov.ru/novosti/744a75da-1f5f-40e9-b1f...
А если ты Васильев(Асанбаевич) из единой россии, то можно договариваться с уважаемыми людьми из других стран, чтобы забирать к себе радикальных исламистов ради сохранения стабильности в странах Средней Азии, а их семьи тут нужны, чтобы мигранты не так часто насиловали наших женщин.
https://ria.ru/20240821/er-1967558885.html
Это все мысли и действия наших "народных избранников", которые по партийным спискам влетели в госдуму, и чёт там окуклились, и никто особо за ними и не следит.
Так вот, в телеге у Александра Картавых предложили создать Депутатник(https://t.me/deputatnic), где будут собирать как раз таки что наши депутаты говорят, и что делают, ну для присмотра и контроля, вдруг что и получится годное! Кстати, на основной канал тоже рекомендую заскочить, там интересно бывает, если вы нашу страну все таки любите.

[моё] Политика Telegram Госдума Единая Россия Депутаты База данных Мигранты Шизофрения Текст
3
6
Shawurma
Shawurma
5 месяцев назад
Инкогнито

Хорошо что я не один⁠⁠

Источник

Хорошо что я не один IT, Юмор, Программирование, IT юмор, Программист, База данных, Мемы, Linux
[моё] IT Юмор Программирование IT юмор Программист База данных Мемы Linux
0
13
Paragoz
Paragoz
5 месяцев назад

Если бы Василий Кузякин попал в мир IT. Это шедерв⁠⁠

[моё] Любовь и голуби IT юмор Сисадмин Российское кино Видео Вертикальное видео Юмор База данных
3
14
megamozg.t
5 месяцев назад
Типичный программист

ДМБ.... а может бахнем?⁠⁠

ДМБ.... а может бахнем?
[моё] IT юмор Программист База данных
9
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии