Potrzebuję przechowywać rozmowy na czacie w schemacie bazy danych. Sposób, w jaki korzystałbym z tej bazy danych, polegałby na publikowaniu czatów na stronie internetowej. Każdy czat nie będzie więcej niż około 20 odpowiedzi. Czy ktoś może zaproponować schemat tego?Schemat DB dla czatów?
Odpowiedz
Oto początek użyciu MySQL Workbench
I Utwórz skrypt
SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `chats` DEFAULT CHARACTER SET utf8 COLLATE default collation ;
-- -----------------------------------------------------
-- Table `chats`.`chat`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `chats`.`chat` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `chats`.`chat_user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `chats`.`chat_user` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`handle` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `chats`.`chat_line`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `chats`.`chat_line` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`chat_id` INT UNSIGNED NOT NULL ,
`user_id` INT UNSIGNED NOT NULL ,
`line_text` TEXT NOT NULL ,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY (`id`) ,
INDEX `fk_chat_line_chat` (`chat_id` ASC) ,
INDEX `fk_chat_line_chat_user1` (`user_id` ASC) ,
CONSTRAINT `fk_chat_line_chat`
FOREIGN KEY (`chat_id`)
REFERENCES `chats`.`chat` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_chat_line_chat_user1`
FOREIGN KEY (`user_id`)
REFERENCES `chats`.`chat_user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS;
Zapraszamy do pobrania pliku MWB z my dropbox.
Nie, nadal otrzymuję link 404. –
Rozmowa has_may Linie
Linia belongs_to użytkownika, zawiera treści & czas
To brzmi tak intensywnie DB. Wydaje Ci się, że jeśli masz codziennie 10 000 użytkowników, będziesz w ciągu miesiąca zapełniany danymi. – Trip
30 dni * 1440 minut dziennie * 200 znaków na minutę (średnia szybkość pisania) * 10 000 użytkowników na czacie = 85 gigabajtów (w przybliżeniu) – thomasfedb
Oczywiście zakłada to, że Twoi użytkownicy dosłownie poświęcają 24/7 na czatowanie ... W każdym razie 85 GB jest prawdopodobnie w zasięgu większości baz danych SQL, ale może warto rozważyć oczyszczenie linii konwersacji starszych niż 24 godziny itp. – thomasfedb
- 1. Pomijanie danych wyjściowych w trybie rake DB: schemat: ładowanie
- 2. DB-In DB dla Entity Framework 4
- 3. Schemat bazy danych dla atrybutów produktów
- 4. Schemat kolorów phpstorm dla subtelnego
- 5. Schemat adresu URL dla Linkedin
- 6. Schemat JSON dla właściwości dynamicznych
- 7. nosql db dla python
- 8. Schemat mangusty dla aplikacji dla wielu użytkowników
- 9. Schemat - autor diagramów mongodb
- 10. Konwencje nazewnictwa dla wyzwalaczy DB
- 11. Schemat serwera SQL i domyślny schemat
- 12. Jak mogę zaimplementować funkcję wyskakujących okien czatów w Gmailu?
- 13. Schemat kolorów tylko dla macvim - jak?
- 14. Jak zaprojektowałbyś schemat JSON dla dowolnego klucza?
- 15. Sugeruję schemat automatyzacji testów dla mojego scenariusza
- 16. Najlepszy schemat MongoDB dla klonu twitter?
- 17. Schemat adresu URL dla połączenia telefonicznego
- 18. Przykładowy schemat bazy danych dla Oracle
- 19. Jak napisać schemat JSON dla tablicy obiektów?
- 20. MissingSchemaError: Schemat nie został zarejestrowany dla modelu
- 21. Opróżnij schemat relacyjnej bazy danych
- 22. Jak mogę mieć wielu klientów na serwerze czatów TCP Python?
- 23. nieprawidłowy schemat oczekuje MongoDB
- 24. Jak stworzyć schemat w SQL
- 25. Schemat organizacyjny
- 26. Omów schemat w kwerendzie DERBY
- 27. Schemat blokowy jeszcze, jeśli
- 28. Czy są wymagane unikalne ograniczenia dla DB?
- 29. Optymalna struktura DB dla dodatkowych pól encji
- 30. Rozwiązanie DB dla kanału aktywności użytkownika
anonimowe czaty lub rozpoznawani użytkownicy? –
anonimowe rozmowy –