사람이 페이스 북에서 좋아하는 모든 영화 목록과 같은 것을 저장하는 것을 고려 중이면 한 사람당 열의 수가 일정하지 않습니다. NoSQL을 선호하지 않는 기사를 읽었습니다. MySQL 해킹을 통해 이와 같은 작업을 수행 할 수 있습니까?열 개수가 다를 때 데이터베이스 선택
답변
해킹이 필요하지 않으므로 스키마가 관계형이되도록 계획해야합니다.
예를 들어 Users라는 테이블이 있고 id, name, email, password 필드가 있다고 가정합니다. 그것의 그래픽 표현이 같은 것입니다 : 당신은 사용자가 좋아하는 영화를 저장할 때문에, 아직 다른 테이블 불리는 UsersMovies, 필드 ID, USER_ID를 포함을 가질 수
id | name | email | password
------------------------------------
1 | John | [email protected] | <md5 hash>
2 | Mark | [email protected] | <md5 hash>
ETC...
그런 다음, movie_id :
id | user_id | movie_id
-----------------------
1 | 1 | 187
2 | 1 | 486231
3 | 2 | 9843
4 | 1 | 457
ETC...
이 두 번째 테이블에는 각 사용자와 그가 좋아하는 영화 사이의 관계가 포함됩니다. 이것은 user_id 1에 대해 id, 187, 486231 및 457이있는 영화를 좋아한다는 것을 알 수 있습니다.이 movie_id는 Facebook의 영화 ID 또는이 영화를 식별 할 수있는 모든 것을 보유 할 수 있습니다. SELECT user_id FROM UsersMovies WHERE movie_id='X'
SELECT * FROM UsersMovies WHERE user_id='X'
, X는 사용자 테이블에서 사용자의 ID 인 : 같은 간단한 것 X 사용자의 모든 영화를 가져 오는이 모델을 채택
,
this place에서 자세한 내용을 볼 수 있습니다.
나는이 질문에 대한 답변에서 언급 한 바와 같이 :
insert into two tabels in mysql database at the same time
은 무엇 당신이 할 찾고 하나를 저장하는 테이블을 만드는 것입니다 -> 많은 관계를. 열 수를 변경하는 것은 불가능합니다. 동일한 사용자로 여러 행을 연결하는 것입니다.
전통적인 관계형 데이터베이스 (예 : MySQL)로 할 수 있습니다.
스키마 스키마 -ful 데이터베이스이므로 각 행마다 다른 열 집합을 사용할 수 없습니다. 그러나 한 열 (예 : extra
)을 입력하면 TEXT
(또는 BLOB
)이됩니다.
가변 열을 모두 가져 와서 JSON (또는 XML 또는 Protobuf 또는 MessagePack 등)으로 직렬화하고이 특수 열에 쓸 수 있습니다.
이렇게하면 임의의 데이터를 레코드에 쓸 수 있으며 MySQL을 계속 사용할 수 있습니다. 그러나 대부분의 RDBMS 기능을 잃어 버렸습니다. 인덱싱, 쿼리 및 효율적인 데이터 업데이트입니다. 영속성이있는 키/값 저장소 입니다.
이제 진정한 NoSQL 솔루션을 사용하는 것이 나을 것입니다. 그 중에서도 더 좋은 것들은 MongoDB입니다. 스키마가없는 데이터베이스입니다. 즉, 모든 행 (또는 해당 전문 용어의 문서)은 고유 한 필드 집합을 가질 수 있습니다. 해당 필드에 보조 인덱스를 작성하고 문서를 효율적으로 쿼리 할 수 있습니다. 더 많은 기능과 프리젠 테이션 및 비디오를 보려면 See the site.
가능한 한 많은 정보를 수집하고 정보 결정을하십시오.
- 1. 열 데이터베이스 선택
- 2. MySQL "열 개수가 값 개수와 일치하지 않지만"개수가 일치 함
- 3. 왜 GridView에 대한 열 개수가 0입니까?
- 4. 열 때 선택 상자에 옵션을로드하십시오.
- 5. 함수 이름이 다를 때 AC_SEARCH_LIBS
- 6. phpmyadmin (mysql)의 열 이름 개수가
- 7. SQL 개수가 NULL 셀
- 8. ExtJS의 그리드 열 선택/선택
- 9. 데이터베이스 선택
- 10. 데이터베이스 선택
- 11. 문자열 개수가
- 12. MySQL의 선택 열
- 13. OpenXML 특정 열 선택
- 14. mongorc.js에서 특정 데이터베이스 선택
- 15. 때 선택
- 16. web.py 데이터베이스 액세스 선택
- 17. 플렉스 데이터 그리드의 열 개수가 다른 행을 사용하는 경우
- 18. Codeigniter/Mysql : 열 개수가 insert_batch()의 값 개수와 일치하지 않습니다?
- 19. 개수가 1 이상인 Talbe에 가입하십시오.
- 20. 웹 사이트를위한 데이터베이스 선택
- 21. 여러 열 선택
- 22. Matlab의 열 선택
- 23. 열 역순으로 값 선택
- 24. 열 선택 (PostgreSQL의 8.4)
- 25. NULL 열 선택
- 26. 표시 선택 상자 열
- 27. WPF ListView 열 선택
- 28. DataGrid 열 선택
- 29. 루프의 열 선택
- 30. 루프로 열 선택