반응형

DATABASE 19

태태개발일지(Database)

관계형 데이터 모델 데이터 모델링 - 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정 - 데이터베이스 설계의 핵심과정 개념적 데이터 모델 현실세계를 추상화하여 중요 데이터를 개념 세계로 추출해 가는 과정 ER다이어그램 - entity와 관계를 나타낸 모델(결과물로 개념적 데이터 모델) 논리적 데이터 모델링 - 개념 세계의 데이터를 데이터베이스가 저장할 구조로 변환하는 과정 - 결과물로 관계 데이터 모델 물리적 데이터 모델링 - 논리 데이터 모델이 실제 데이터베이스에 저장소에 저장되는 모델 릴레이션 = 테이블 구조 애트리뷰트(속성 or 컬럼) 도메인(데이터 타입) 릴레이션 스키마 -> 속성의 이름과 속성의 타입 행 -> 튜플, 레코드 값 튜플의 집합 : 릴레이션 인스턴스 튜플-> 동..

DATABASE 2023.09.27

태태개발일지(데이터베이스)

데이터베이스 - 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 예제 -은행: 계좌정보, 입출금 내역 데이터베이스 특징 - 실시간 접근 가능 - 계속적인 변화 - 동시 공유가 가능 - 저장된 주소가 아닌 내용으로 참조 가능 데이터의 유형 - 정형 데이터(엑셀의 스프레드시트, 관계데이터베이스 테이블) - 반정형 데이터(self-describing data: HTML,XML,JSON) - 비정형 데이터(text,멀티미디어 데이터) 파일시스템을 사용했을 경우 - 동시성 제공이 어려움 -> 여러 사용자가 동시에 접근할 때 문제 해결에 어려움 - 원자성 제공이 어려움 -> 파일 변경 중에 시스템 장애가 발생했을 때 처리 어려움 - 보안 제공 이슈 -> 사용자 ..

DATABASE 2023.09.26

태태개발일지(index)

@Entity @Table(name = "user_table", indexes = { @Index(name = "idx_name", columnList = "name") }) //@Table(name = "user_table") 데이터베이스에서 index를 만들면 B+ Tree 구조로 저장이되고, 인덱스테이블을 사용하면 insert, update,delete가 있어서 추가 쿼리가 생기지 않는 이상, 조회상태에서는 성능이 향상 된다고 알 게 되었다. 또 궁금한 것은 못참는 내가 Database에서 userTable을 만들고 안에 name이라는 속성으로 index를 만들고, spring과 연결 시켜서 Jmeter로 성능을 실험해보았다. 결과: 유저 데이터 30000개 정도는 속도차이가 별로 크게 나지않는다...

DATABASE 2023.09.24

태태개발일지(트랜잭션)

트랜잭션 - 단일한 논리적인 작업단위 - 논리적인 이유(목적) 으로 여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든것이 transaction이다. * transaction의 sql문들중에 일부만 성공한다고 DB에 반영이 일어나지 않는다. START TRANSACTION; --> 트랜잭션 시작을 알림 AutoCommit은 OFF가 된다. UPDATE --> UPDATE --> COMMIT; -> 지금까지 작업한 내용을 DB에 영구적으로 저장한다. *transaction 종료 RollBack -지금까지 작업들을 모두 취소하고 transaction 이전 상태로 돌린다. AutoCommit - 각각의 sql문으 자동으로 transaction 처리해주는 개념 -sql문이 문제가 있었다면 알아서 rol..

DATABASE 2023.09.17

총정리

도대체 sql이 왜 필요한가??? 장사를 하는 중 문제가 생겼을 때 빠르고 정확하게 특정 데이터를 받아오기 위해서 사용한다. 장점: DATA BASE에 방대한 양을 저장할 수 있다, 방대양 양을 빠르게 불러올 수 있다. @즉 데이터를 잘 꺼내오기 위해서 사용하는 것이다. CRUD: C:Create -> 데이터 생성 R:Read -> 저장된 데이터를 읽어 오는 것 U:Update -> 저장된 데이터를 변경! D:Delete -> 저장된 데이터를 삭제하는 것을 의미. SELET -> 어떤 테이블에서 어떤 필드에서 데이터를 가져오는 가?? ex) SELECT order_no, created_at, user_id, email FROM orders 문법 필드 문법 데이터 자동완성시 별칭이 붙을 수 있다. ex) ..

DATABASE 2023.01.14

Database sql (join)

join ---> 테이블이 나누어 져있는데 어떠한 한 기준으로 테이블을 병합시킨다. *두 테이블의 공통된 정보를 기준으로 테이블을 연결해서 한 테이블로 보는것. sql == vlookup이랑 비슷하다. left join 과 inner 조인만 잘써도 된다. users 테이블과 point_users 테이블의 공통요소로 join SELECT * from users u left join point_users p on u.user_id = p.point_user_id SELECT * from users u inner join point_users p on u.user_id = p.user_id 투 테이블 병합하기 select * from orders o inner join users u on o.user_id =..

DATABASE 2023.01.12

데이터 베이스 sql (group by, order by)

통계적인 숫자를 뽑아보자 SELECT name, COUNT(*) from users group by name group by ---->묶어라 이름별로 묵어 줘라 주차별로 묶은 것을 카운트해라 SELECT week ,COUNT(*) from checkins group by week round(avg(like)) ---->평균을 반올림하자 count() 숫자를 세는 것 order by ---> 순서정렬 desc --->내림차순으로 정렬 group by와 별계로 사용된다. 앱개발 종합반의 결제 수단별 주문 건수 세어보기 SELECT payment_method ,COUNT(*) from orders WHERE course_title LIKE '앱개발 종합반' GROUP BY payment_method Gmail..

DATABASE 2023.01.11

데이터베이스 sql

1. 도대체 sql이 왜 필요한가??? 장사를 하는 중 문제가 생겼을 때 빠르고 정확하게 특정 데이터를 받아오기 위해서 사용한다. 장점: DATA BASE에 방대한 양을 저장할 수 있다, 방대양 양을 빠르게 불러올 수 있다. @즉 데이터를 잘 꺼내오기 위해서 사용하는 것이다. CRUD: C:Create -> 데이터 생성 R:Read -> 저장된 데이터를 읽어 오는 것 U:Update -> 저장된 데이터를 변경! D:Delete -> 저장된 데이터를 삭제하는 것을 의미. SELET -> 어떤 테이블에서 어떤 필드에서 데이터를 가져오는 가?? ex) SELECT order_no, created_at, user_id, email FROM orders 문법 필드 문법 데이터 자동완성시 별칭이 붙을 수 있다. e..

DATABASE 2023.01.10
반응형