Electroweak interaction

Similar documents
PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

DBMS & SQL Server Installation Database Laboratory

untitled

10.ppt

MySQL-.. 1

강의 개요

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

PowerPoint Template

MySQL-Ch10

윈도우시스템프로그래밍

Lec. 2: MySQL and RMySQL

5장 SQL 언어 Part II

Microsoft PowerPoint - 27.pptx

문서 템플릿

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

쉽게 풀어쓴 C 프로그래밊

강의 개요

PowerPoint Presentation

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

금오공대 컴퓨터공학전공 강의자료

6장. SQL

TITLE

PowerPoint 프레젠테이션

금오공대 컴퓨터공학전공 강의자료

SQL

윈도우시스템프로그래밍

Relational Model

chap 5: Trees

NoSQL

슬라이드 1

Microsoft PowerPoint Python-DB

초보자를 위한 분산 캐시 활용 전략

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

빅데이터분산컴퓨팅-5-수정

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

PowerPoint Presentation

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

DocsPin_Korean.pages

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

C# Programming Guide - Types

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

PowerPoint 프레젠테이션

Microsoft PowerPoint - QVIZMVUMWURI.pptx

13주-14주proc.PDF

Observational Determinism for Concurrent Program Security

Object Oriented Analyis & Design Training Agenda

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

슬라이드 제목 없음

Spring Data JPA Many To Many 양방향 관계 예제

제목 레이아웃

Microsoft PowerPoint - Database.ppt

201502IC1AP-1 DB 구축 2015 학년도 2 학기 프로젝트특강보고서 프로젝트명 : DB 구축 ( DB ) 2015 년 11 월 20 일 지도교수 : 황치곤교수님 학과 : 정보통신공학과 1팀제출자 : 역할성명학번 조장 조재석 조원 송찬호 2

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Tablespace On-Offline 테이블스페이스 온라인/오프라인

untitled

Microsoft PowerPoint - CNVZNGWAIYSE.pptx

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

목 차

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

PowerPoint Presentation

PowerPoint 프레젠테이션

Chapter 5 비즈니스인텔리젼스의기초 : 데이터베이스와정보관리

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

Discrete Mathematics

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

gisa_pil_070304_pdf.hwp

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

Microsoft PowerPoint - e pptx

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

MS-SQL SERVER 대비 기능

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

Windows 8에서 BioStar 1 설치하기

ETL_project_best_practice1.ppt

PowerPoint Presentation

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

ALTIBASE HDB Patch Notes

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Chapter 4. LISTS

Simplify your Job Automatic Storage Management DB TSC

intro

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

금오공대 컴퓨터공학전공 강의자료

DW 개요.PDF

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint MySQL 연동.ppt

Transcription:

2021 Winter wheel seminar #6: Database 2021.1.11. ivy

Contents Introduction Relational DB NoSQL DB Practice DB? RDB structure Limits of SQL, RDB MySQL DB schema Consistency NoSQL DB model mongodb DB types Key and Normalization Scaling Query RDB schema representation mongodb Transaction SQL redis MySQL DB RDB vs. NoSQL

~/Introduction/ > DB? DB (Database) 특정기능을수행하는데필요한상호관련데이터의모임 데이터의특성 통합된, 저장된, 운영에필요한, 공용인데이터 실시간접근성, 계속적인변화, 동시공유, 내용에의한참조, 데이터독립성 DBMS DataBase Management System. 데이터베이스를관리하는미들웨어 정의, 조작, 제어기능을가짐 DB system DB, DBMS, 기계, 관리자 (DBA or YOU), schema, language, user 등 DB 를둘러싼모든것

~/Introduction/ > DB schema Schema DB system 의전반적인구조를정의한것 ( 넓은의미 ) 개념스키마 ( 좁은의미 ) DB 의논리적구조를정의한것 DB 에접근하는방식과는무관한, 데이터집합자체의구조 DB 가가져야할개체, 관계, 제약조건등을포함 무결성규칙에대한정의포함 넓은의미의스키마 외부스키마 ( 외부응용프로그램에서 DBMS 를통해서보는구조 ) 내부스키마 ( 물리적구조 )

~/Introduction/ > DB types DB types Relational DB ( 관계형데이터베이스, RDB) 각개체는모두 릴레이션 Relation 이라는이름의테이블에모임 테이블들은 관계 Relationship 를맺을수있음 일관성 Consistency 이잘지켜짐 NoSQL DB RDB 의단점을극복하기위해도입 K-V store, Document model, Graph model 등다양한구조를가짐 etc Hierarchial DB, Network DB, Object Oriented DB

~/Introduction/ > Query Query 질의質疑. 데이터베이스에내리는작업명령 DB 종류에따라사용할수있는쿼리의종류도변함 SQL 을쓰는 RDB 의경우 SELECT, INSERT, DELETE, UPDATE, DROP NoSQL 예시 : mongodb find(), insertone(), deleteone(), updateone(), SQL: RDB 들이공통적으로지원하는쿼리작성언어 Standard Query Language

~/Introduction/ > Transaction Transaction DB 에수행하는논리적작업의단위 쿼리여러개를묶은것 ACID 성질 (Atomic, Consistent, Isolated, Durable) 만족 작업하나가완벽히수행되도록함 서로다른작업사이에충돌이일어나지않도록함 Transaction 의구조 Transaction 시작 몇개의쿼리실행 (Transaction 에쿼리들이감싸져있음 ) Transaction 끝 에러없을시 Commit, 에러발생시 Rollback

~/Relational_DB/RDB_structure/ > Single Table 테이블의구조 릴레이션 = 테이블 데이터를표의형태로표현한것 튜플 = 레코드 릴레이션을구성하는각각의행 속성 = 필드 각레코드가갖는데이터값

~/Relational_DB/RDB_structure/ > Table characteristic 테이블의특징 레코드 서로다른각각의개체를표현하며, 순서는없음 필드 필드간의순서는중요하지않음 필드의명칭은유일하지만레코드사이에서값은동일할수있음 원자값저장

~/Relational_DB/RDB_structure/ > Relationship 관계 테이블사이의관계 ex) 학생 테이블과 수강 테이블 학생 1명이여러개의수강신청데이터를갖고있을수있음 1:N 관계 ( 일대다관계 ) 관계의종류 1:1 관계, 1:N 관계, N:M 관계 (ex: 학생 테이블과 과목 테이블 ) 1:1 관계는잘쓰지않음. N:M 관계는 2개의 1:N 관계로분해할수있음 ( 학생 - 수강 - 과목 ) 관계의표현 외래키 Foreign key 를통해표현함 수강 테이블의각레코드가 학생 테이블의학생 ID를필드로가지고있음

~/Relational_DB/Consistency/ > Consistency Consistency 무결성 정보에모순이생기지않게하는것 ex) 학번 20200999 인학생은존재하지않는데, 수강 테이블에 { id : 234, 학번 : 20200999, 수강과목 : 32498} 인레코드존재 모순 학번 테이블에추가가일어나지않았을가능성? RDB 의중요한기능 관계가있는테이블들을살펴보고, 모순이생기는쿼리에대해서는오류를발생시켜잘못된정보가들어오는것 ( 무결성손상 ) 을차단

~/Relational_DB/Consistency/ > ACID ACID 원칙 Transaction 이가져야할성질. 대부분의 RDB 가지원 Atomicity ( 원자성 ) 명령이완전히실행되거나, 완전히실행되지않아야한다. Consistency ( 일관성, 무결성 ) 명령이후모순이없어야한다. Isolation ( 독립성 ) 하나의 Transaction 안에서는다른작업의영향을받지않는다. Durability ( 지속성 ) DB system 은데이터를정확히저장하고보호한다.

~/Relational_DB/Key_and_Normalization/ > Key Key DB 에서탐색혹은정렬을수행할때기준이될수있는필드 후보키 유일성이성립하는필드. 기본키로사용할수있음. ex) 학생. 학번, 학생. 주민번호 기본키 한테이블에서레코드를유일하게구분하기위한필드 동일한값존재불가. ex) 학생. 학번 외래키 ( 외부키 ) 다른테이블의기본키를참조하기위해가져온것 관계를설명. ex) 수강. 학번

~/Relational_DB/Key_and_Normalization/ > Normalization 정규화 Normalization RDB 의관계형스키마를쪼개는것 중복데이터가존재하는테이블 1 개를쪼개어테이블여러개로만듦 쪼개진테이블들은일대다관계를갖게됨 정규화의종류 1NF, 2NF, 3NF, BCNF 정규화의장점 효과적인검색가능, 이상 Anomaly 방지 용량축소, 불필요한로직과쿼리제거

~/Relational_DB/RDB_schema_representation/ > Tables

~/Relational_DB/RDB_schema_representation/ > E-R diagram E-R diagram 개체관계도 Entity-Relationship Diagram 개체, 속성, 관계등으로구성 현실세계를개념적인논리데이터로표현하는방법 정보처리기사빈출

~/Relational_DB/SQL/ > SQL SQL [ 에스큐엘 ] 혹은 [ 시퀄 ]. RDB 에대한쿼리를수행하는표준적인언어 Standard Query Language ( 주로 ) 키워드는대문자로씀. 그러나 SQL 구문자체는대소문자구분이없음 문자열은따옴표로감싸져있어야함 Hello world, SPARCS 숫자는따옴표를쓰지않음 0x41, 1234 # 이후의구문은주석 구문의끝에는세미콜론을씀 DB 나테이블의이름은 `dbname` 처럼

~/Relational_DB/SQL/ > Basic queries SQL Basics DB 나열, 생성, 사용 SHOW DATABASES; CREATE DATABASE dbname; USE dbname; 데이터조회, 추가, 수정, 삭제 SELECT `col1`, `col2`, `col3` FROM `tablename` WHERE [condition]; INSERT INTO `tablename` (col1, col2, col3) VALUES (val1, val2, val3); UPDATE `tablename` SET `fieldname` = [new value] WHERE [condition]; DELETE FROM `tablename` WHERE [condition];

~/Relational_DB/SQL/ > Join Join 관계를맺고있는테이블사이의통합쿼리 Join의종류 Inner join: 양쪽테이블모두에존재하는경우만가져오기 Left join: 왼쪽테이블에서는모두가져오기 Right join: 오른쪽테이블에서는모두가져오기 Cross join: 조건없이합쳐서가져오기 집합의곱집합개념 (Cartesian product) So, a SQL query walks into a bar and sees two tables. It walks up to them and says Can I join you?

~/Relational_DB/SQL/ > SQL Injection SQL Injection SQL 언어의취약점을이용한공격방식 외부에서온문자열이 SQL 쿼리문에그대로삽입되면임의코드실행가능 SQL prepared statement: 미리쿼리를컴파일하고문자열만넣는방어방법

~/Relational_DB/ > MySQL DB MySQL [ 마이에스큐엘 ]. 가장많이쓰이는 RDB 오픈소스, 무료 Oracle 사의인수 MariaDB, PostgreSQL 등의대체재등장 제로보드, 그누보드등에서이용 phpmyadmin

~/NoSQL_DB/ > Limits of SQL & RDB RDB 의한계 Transaction, ACID ACID 원칙을지키기위해, 쿼리실행시 DB 전체에 lock 이걸림 초대규모 DB 운용시성능하락 빠르게만들어지는빅데이터를모두저장하는 DB 의필요성등장 DB computer 하나의성능을올리는데한계가발생 일관성, 무결성을 ( 조금 ) 포기하는대신, 성능과확장성을추구하는시도 RDB 가아닌다양한데이터모델이만들어짐 K-V store, Document model, Graph model,

~/NoSQL_DB/NoSQL_DB_Model > K-V store K-V store Key-Value store. 가장간단한 DB 형태 커다란 Hash table과같음 Key로만각 value를검색할수있음

~/NoSQL_DB/NoSQL_DB_Model > Document model Document model RDB 와비슷하지만새로운이름 테이블대신 Collection 레코드대신 Document 스키마가엄격하지않음 한 collection 안의여러 Document 들이서로다른속성을갖고있을수있음 스키마가없다 라고도표현함 일관성을어느정도포기

~/NoSQL_DB/ > Scaling Scaling 높은성능이요구될때, 서버를확장하는것 수직적확장 하나의서버성능을높이는것. RDB 에서는거의수직적확장만가능 수평적확장 서버를여러개로늘리고, 데이터를분산하여저장하는것 사실상 NoSQL DB 에서만가능함 ( 분산서버전체에 lock 을걸기어려움 ) NoSQL 의장점 빅데이터를분산하여저장. ex) F***book 에글을쓸때, DB 가 RDB 라면글을쓰는 Transaction 을위해 lock 을거느라글을쓰는데한참걸릴것

~/NoSQL_DB/ > mongodb mongodb 대표적인 Document model NoSQL DB 각 document 는하나의 json Object-oriented Document 가가진필드가원자값이아니라 json 배열, 객체등일수있음 유사 -RDB 기능 분산처리가가능한 ACID transaction 지원 Snapshot isolation Join 지원 느림

~/NoSQL_DB/redis/ > In-memory DB In-memory DB 메모리위에데이터를저장하는 DB 매우빠른처리를필요로하는경우사용 자주필요한데이터의캐싱 예시 : django caching 프로세스간데이터공유방법 Message queue 예시 : django-channels

~/NoSQL_DB/redis/ > redis DB redis remote dictionary server. 대표적인 in-memory DB K-V store 구조 memcached 등다른 in-memory K-V store 와는다르게 value 에 list, set, hash table 등다양한값을넣을수있음 메모리에올라간 DB 가정기적으로보조기억장치에백업되므로, 데이터가완전히손실될일은없음

~/NoSQL_DB/ > RDB vs. NoSQL 장점 명확하고엄격한스키마데이터무결성정규화를통한중복없는데이터 단점 스키마수정의어려움 Join 이많은복잡한쿼리수평적확장어려움 장점 유연성빠른속도수평적확장가능 단점 데이터무결성훼손가능데이터중복 App 레벨에서관리필요 RDB NoSQL

~/Practice/MySQL/ > Installation (1) 설치및비밀번호설정 sudo apt update sudo apt install build-essential mysql-server #mysql 8.0 설치 sudo mysql mysql > USE mysql; mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY new_password ; mysql > FLUSH PRIVILEGES; mysql > quit; # root 라는 DB user 로 MySQL 에접속할수있도록해주는과정 sudo service mysql restart

~/Practice/MySQL/ > Installation (2) 접속하기 mysql u root p # -u: DB 접속사용자지정. # -p: 비밀번호를입력하겠다는뜻. # -h: 호스트지정. ( 원격접속시 ) # -P: 포트지정. ( 원격접속시 ) mysql > SHOW DATABASES; 현재존재하는 DB 들보기 MySQL 프로그램안에는여러개의 DB 가존재. 기본적으로 MySQL 구동에필요한 4 개가만들어져있음

~/Practice/MySQL/ > Creation (1) DB 와테이블만들기 mysql > CREATE DATABASE wheel; wheel 이라는 DB 를만듦 mysql > USE wheel; 방금만든 DB 안에서작업하겠다고선언하는것 mysql > SHOW TABLES; 현재 wheel 에존재하는테이블조회 mysql > CREATE TABLE users (name varchar(10) NOT NULL, num int(3) NOT NULL, uid varchar(20) NOT NULL, CONSTRAINT USERS_PK PRIMARY KEY (uid));

~/Practice/MySQL/ > Creation (2) wheel 이라는 DB 에테이블 `users` 를만들되, 필드는 Null 일수없는최대 10 자문자열인 `name`, Null 일수없는 3byte 정수인 `num`, Null 일수없는최대 20 자문자열인 `uid` 를두고, 제약조건은 `uid` 를기본키로만드는 `USERS_PK` 라는이름의제약조건을두도록하라.

~/Practice/MySQL/ > Insertion 레코드추가하기 mysql > INSERT INTO users (name, num, uid) VALUES ( Name", 20, uid"); 한명추가 mysql > INSERT INTO users (name, num, uid) VALUES ( Name, 20, uid ), ( Name, 20, uid ); 여러명추가 mysql > SELECT * FROM users; 모든유저의모든필드조회 mysql > SELECT name, num FROM users WHERE num = 20; 20 학번인유저의이름, 학번만조회

~/Practice/MySQL/ > Update & Delete 레코드수정하기 UPDATE users SET num=21 WHERE uid= ivy ; 학번값수정 레코드삭제하기 DELETE FROM users WHERE uid= ivy ; 레코드삭제

~/Practice/MySQL/ > WHERE WHERE 조건식 = : 같다 >, <, >=, <= : 일반적인부등호 <> : 같지않다 LIKE : 어떤표현식에맞는것만 ex) %A% : 중간에 A 을포함하는문자열 ex) A : A 로시작해서두개의문자가더있는문자열

~/Practice/MySQL/ > Assignment 실습제출 1. `wheel` DB 를만들고선택하기, `user` 테이블만들기 2. 자신의이름, 학번, SPARCS uid 가나오도록 insert 하기 3. ivy 회원의학번을 update 하기 4. uid 에 n 문자가포함된레코드를 delete 하기 5. 모든필드와레코드를 select 하기 각작업과정을스크린샷으로찍어제출!

~/Practice/mongoDB/ > Installation 설치및시동 설치과정 (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/) wget -qo - https://www.mongodb.org/static/pgp/server-4.4.asc sudo apt-key add echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt-get update sudo apt-get install -y mongodb-org sudo service mongod start

~/Practice/mongoDB/ > Creation (1) 실행및생성 mongo mongo shell 을불러오는명령어. 옵션을주면 localhost 가아닌다른서버의 mongod daemon 에도연결할수있다 > use wheel wheel 이라는 DB 를사용하겠다고선언 ( 명시적으로만들지않아도됨 ) > show dbs DB 목록보기. 아직 wheel DB 에는 collection 이없으므로 wheel DB 가나타나지않음

~/Practice/mongoDB/ > Creation (2) 컬렉션작업 > db.createcollection( users ) { ok : 1 } wheel DB 안에 users 라는 Collection 이생성 > show collections 방금만든 collection 이나타남 > show dbs wheel 에 collection 이있으므로, 이제나타남

~/Practice/mongoDB/ > Insertion Document 추가하기 > db.users.insertmany([ { name : Name, num : 20, uid : uid }, ]) Collection 에여러개의 document 를삽입 > db.users.find() 전부조회 > db.users.find.pretty() 하면깔끔하게보여줌

~/Practice/mongoDB/ > Giving criteria Criteria > db.users.find({ num : { $gte: 20, $lte: 22 } }) 20 학번부터 22 학번까지의유저조회 > db.users.find({ $and: [{"name": Name"}, {"uid":"ivy"}] }) 이름이 Name 이고 uid 가 ivy 인유저조회

~/Practice/mongoDB/ > Update & Delete Update > db.users.updatemany({"num": 20}, {$set: {"num": 21}}) updatemany([criteria], {$set: [operation]}) 꼴 20 학번을모두 21 학번으로수정 ( 미개봉중고ㅠㅠ ) updatemany 가아니라 update 하면단하나만 update 됨 schema 가엄격하지않으므로, 새로운속성을추가할수도있음 Delete > db.users.deletemany({ uid : ivy }) 조건에맞는유저삭제

~/Practice/mongoDB/ > Assignment 실습제출 1. `wheel` DB 를만들고선택하기, `users` 컬렉션만들기 2. 자신의이름, 학번, SPARCS uid 가나오도록 insert 하기 3. 미개봉중고들의학번을정정하기 4. uid 에 n 문자가포함된 document 에 { has_n :1} 속성추가하기 힌트 : 연산자 $regex 각과정과사이사이에 find() 한결과를스크린샷으로제출!

Q&A wheel seminar